Glide控件(2018年9月20日-2018年9月21日)
3、在RecyclerView中使用Glide框架
【案例】
项目结构:
build.gradle:
dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.0'
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.android.support:recyclerview-v7:27.1.1'
}
item.xml
activity_main.xml
MyHolder.java
News.java
MyAdapter.java
MainActivity.java
效果:
4、有关Glide的配置
【案例】创建AppGlideModule 子类,用于全局配置。配置内存缓存。
步骤:
(1)编写AppGlideModule 子类,需要添加注解@GlideModule
(2) public void applyOptions(Context context, GlideBuilder builder),使用builder来设置缓存。
(3)Make Module ,编译当前项目,产生GlideApp类(自动产生)
(4)替换原有使用Glide的地方,换成GlideApp,即可。
(5)可以使用断点的方式调试AppGlideModule 子类中的applyOptions()是否运行。
代码参考:
创建AppGlideModule 子类:MyAppGlideModule
修改MyAdapter.java
5、加载动图
MainActivity.java
效果:
6、设置占位符、出错时显示的图片。
使用placeholder(resId),设置占位图片,在图片下载前显示;
使用error(resId),设置请求失败时显示的图片
参考代码:
1、设置全局的占位符、错误图片
【案例】
项目结构:
activity_main.xml
util.MyAppGlideModule.java
MainActivity.java
注意:
加网络权限;
依赖版本:
implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'