Glide 作为Google的图片加载库,专注于流畅的滚动,功能异常强大,还可以加载Gif图。今天我们就试试如何加载GIF图,首先在gradle上添加:
compile 'com.github.bumptech.glide:glide:3.6.1'
其次我找到一张周星星同学的GIF图作为测试,如下:
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_third2"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="match_parent"
/>
</RelativeLayout>
没有特别之处,就是一个ImageView。
public class ThirdActivity extends AppCompatActivity {
private ImageView imageView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third2);
imageView = (ImageView)findViewById(R.id.image);
//添加缓存策略,DiskCacheStrategy.SOURCE,缓存原图
Glide.with(this).load(R.mipmap.test).diskCacheStrategy(DiskCacheStrategy.SOURCE).
into(imageView);
}
}
这样就可以实现加载Gif,如果要加载网络的GIF,稍加改动:
public class ThirdActivity extends AppCompatActivity {
private ImageView imageView ;
private String url = "http://i1.mopimg.cn/img/tt/2014-11/404/20141127150921545.gif230x170.gif";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_third2);
imageView = (ImageView)findViewById(R.id.image);
//添加缓存策略,DiskCacheStrategy.SOURCE,缓存原图
Glide.with(this).load(url).asGif().diskCacheStrategy(DiskCacheStrategy.SOURCE).
into(imageView);
}
}
OK:最后添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />