这次的项目有人跟人的互动,避免不了就有生动的表情,第一套表情就是动态的表情,这时就产生了问题,开始用ImageView显示出来是静态的图片,貌似是取了一帧的图显示出来,百度谷歌后有前辈说android本身不支持gif的显示,多方搜索第一次搜索的是gifView,是一个框架,但是这个框架有个bug就是图片大且数量多的时候会有oom异常。而且我用gridView来显示表情,会有卡屏现象,各种搜索资料发现大家都有这个困扰,这可如何是好。继续在搜索这个框架的解决办法时,无意看到前辈介绍了这个框架android-gif-drawable,从git上下载一下,发现真是非常的不错,项目当了空档期来记录一下这个控件的使用方法。
下载请参考:android_GifDrawable下载配置
这个框架有4种呈现方式
GifDrawable、GifImageButton、GifImageView、GifTextView分别继承自Drawable、ImageButton、ImageView、TextView,使用方法也很简单,直接可以当一个UI组件来使用就好
布局设置如下:
<pl.droidsonroids.gif.GifImageView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/gifView"/>
Java代码如下:
GifImageView gif = (GifImageView)findViewById(R.id.gifView);
gif.setImageResource(inmgId[position]);