现在很多app都可以看gif,可是android原生控件却不支持gif,所以要用到第三方,其实显示gif没啥好说的首选

android-gif-drawable

可总是有特殊情况,像我就遇到公司要求用c语言处理gif,android-gif-drawable也是c语言写的,我嫌文件太多就去网上找了另一个c语言写的

AndLibNsgif

这个只有6个文件,java层代码直接抛弃

其实使用Glide也可以显示gif,不过不太好,gif加载多了播放速度就巨慢

glide

先来说说android-gif-drawable吧,使用简单

java加载也简单

try {    GifImageView gifImageView = findViewById(R.id.gif_image_view);    GifDrawable gifFromResource = new GifDrawable( getResources(), R.drawable.test4 );    gifImageView.setImageDrawable(gifFromResource);} catch (IOException e) {    e.printStackTrace();}

还支持各种加载方式,就不一 一列举了

GifDrawable可对gif进行操作,start(),stop()之类的,网上对它的说明很多就不说了

再来说Glide加载gif

GlideApp.with(this).load(R.drawable.test4).into(imageview);

也是很简单的,操作gif也是使用GifDrawable,可以这样获取GifDrawable

GlideApp.with(this).load(R.drawable.test4).listener(new RequestListener() {    @Override    public boolean onLoadFailed(@Nullable GlideException e, Object model, Target target, boolean isFirstResource) {        return false;    }    @Override    public boolean onResourceReady(Drawable resource, Object model, Target target, DataSource dataSource, boolean isFirstResource) {        GifDrawable gifDrawable = (GifDrawable) resource;        return false;    }}).into(imageView);

也就是调用start()或stop()

如果应用gif使用的多,推荐用android-gif-drawable如果不多就用Glide也能应付

最后说说AndLibNsgif,效率是有的,不过java代码bug太多,只是一个简单的移植,不过c代码没什么bug,拿来用完全没问题,也是很强大的

 

 

 

 

更多相关文章

  1. C语言函数的递归(上)
  2. Android(安卓)Tween动画之RotateAnimation实现图片不停旋转
  3. Android窗口标题显示操作
  4. WebView使用中js调用java代码时targetSdkVersion大于17时,无法调
  5. 【第一行代码笔记】(一)
  6. Android之SQLite数据库操作
  7. 移植FFmpeg到android ics
  8. Android(安卓)Studio4如何在查看低版本API类的源代码?
  9. android ViewFlipper使用示例(注册引导页)

随机推荐

  1. 小程序之switch...case...break
  2. Android Installation error: INSTALL_FA
  3. Android中如何比较两个时间值的大小.
  4. Android 在非UI线程中读网络数据
  5. android项目,从服务器端返回JSON数据,在and
  6. android几种适配器的使用
  7. Java 用正则表达式 提取目录
  8. 2013.12.03(4) ——— android ActionbarSh
  9. android 阅读器分页读取字数
  10. Android入门之简单短信发送器