但我不知道如何在这些代码中实现我的gif图像.我在资产文件夹中有一些GifImages.
这是我的代码:
PlayActivity.java:
import androID.app.Activity;import androID.os.Bundle;import com.felipecsl.gifimagevIEw.library.GifImageVIEw;import java.io.IOException;import java.io.inputStream;public class PlayActivity extends Activity{ GifImageVIEw gifVIEw; //byte[] bytes; @OverrIDe protected voID onCreate(final Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.layout_play_activity); try { inputStream is = getAssets().open("rain_4.gif"); byte[] bytes = new byte[is.available()]; is.read(bytes); is.close(); gifVIEw = (GifImageVIEw) findVIEwByID(R.ID.gifImageVIEw); gifVIEw = new GifImageVIEw(this); gifVIEw.setBytes(bytes); gifVIEw.startAnimation(); } catch (IOException e) { e.printstacktrace(); } } @OverrIDe protected voID onStart() { super.onStart(); if(gifVIEw != null) gifVIEw.startAnimation(); } @OverrIDe protected voID onStop() { super.onStop(); if(gifVIEw != null) gifVIEw.startAnimation(); }}
和layout_play_activity.xml:
<linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" xmlns:tools="http://schemas.androID.com/tools" androID:layout_wIDth="match_parent" androID:layout_height="match_parent" androID:paddingleft="@dimen/activity_horizontal_margin" androID:paddingRight="@dimen/activity_horizontal_margin" androID:paddingtop="@dimen/activity_vertical_margin" androID:paddingBottom="@dimen/activity_vertical_margin" androID:orIEntation="vertical" tools:context=".PlayActivity"> <com.felipecsl.gifimagevIEw.library.GifImageVIEw androID:ID="@+ID/gifImageVIEw" androID:layout_gravity="center" androID:scaleType="fitCenter" androID:layout_wIDth="match_parent" androID:layout_height="match_parent"/></linearLayout>解决方法 您提供的图书馆链接中有一个示例.加载GifImageVIEw的方式与示例中的方式不同.样本从互联网上下载了一个gif.
以下是样本的MainActivity的片段:
GifImageVIEw gifImageVIEw = (GifImageVIEw) findVIEwByID(R.ID.gifImageVIEw);new GifDataDownloader() { @OverrIDe protected voID onPostExecute(final byte[] bytes) { gifImageVIEw.setBytes(bytes); gifImageVIEw.startAnimation(); Log.d(TAG,"GIF wIDth is " + gifImageVIEw.getGifWIDth()); Log.d(TAG,"GIF height is " + gifImageVIEw.getGifheight()); }}.execute("http://gifs.joelglovIEr.com/aha/aha.gif");
解:
我不确定您是否可以使用此库从资产加载GifImageVIEw,但我更喜欢使用离子库.这真的很好很简单.使用该库,您还可以根据需要拉伸gif图像:
https://github.com/koush/ion
简单示例:
ImageVIEw imageVIEw = (ImageVIEw) findVIEwByID(R.ID.imageVIEw);Ion.with(imageVIEw).load("http://gifs.joelglovIEr.com/aha/aha.gif");总结
以上是内存溢出为你收集整理的android – 用库显示Gif图像全部内容,希望文章能够帮你解决android – 用库显示Gif图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)