Glide基础使用

2022-03-21  本文已影响0人  BillyJean

Glide依赖配置:

 implementation 'com.github.bumptech.glide:glide:4.13.0'
 annotationProcessor 'com.github.bumptech.glide:compiler:4.13.0'

1.占位符配置

占位符总共有3种:placeholer、error、fallback
1.1 三个占位符一起配置,第一种方式:
 RequestOptions requestOptions = new RequestOptions()
                .placeholder(R.drawable.ic_tv_placeholder_24dp)
                .error(R.drawable.ic_tag_faces_black_24dp)
                .fallback(R.drawable.ic_queue_play_next_black_24dp)
                .override(150,150); //加载图片以150x150的分辨率
Glide.with(this)
     .load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1111%2F06301Q05335%2F1P630105335-6.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650174892&t=15a15b4a0efeada15506dbba74e61e86")
     .apply(requestOptions)
     .into(iv);
1.2三个占位符一起配置,第二种方式:
//配置完成后,编译一次
@GlideModule
public final class MyAppModule extends AppGlideModule {
}
//定义一个频繁使用的选项集合
@GlideExtension
public class MyAppExtension {
    private MyAppExtension(){}
    @GlideOption
    public static BaseRequestOptions<?>defaultImg(BaseRequestOptions<?> options){
        return options
                .placeholder(R.drawable.ic_tag_faces_black_24dp)
                .error(R.drawable.ic_tv_placeholder_24dp)
                .fallback(R.drawable.ic_tv_placeholder_24dp);
    }
}
 //3.2创建MyAppExtension,对于那些频繁调用的,可以使用下面的方式,一个方法defaultImg(),加入组合的配置
GlideApp.with(this).load("").defaultImg().into(iv);
1.3三个占位符一起配置,第三种方式,由第二种方式创建的MyAppModule,直接调用:
GlideApp.with(this)
              .load("")
              .placeholder(R.drawable.ic_tag_faces_black_24dp)
              .into(iv); 

2.变换效果

变换效果总共有4种(图片格式最好指定为jpeg):CircleCrop、RoundedCorners、GranularRoundedCorners、Rotate
Glide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1111%2F06301Q05335%2F1P630105335-6.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650174892&t=15a15b4a0efeada15506dbba74e61e86")
                .transform(new CircleCrop())
                .into(iv);
Glide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1111%2F06301Q05335%2F1P630105335-6.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650174892&t=15a15b4a0efeada15506dbba74e61e86")
                .transform(new RoundedCorners(30))//指定弧度为30度
                .into(iv);
Glide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1111%2F06301Q05335%2F1P630105335-6.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650174892&t=15a15b4a0efeada15506dbba74e61e86")
                .transform(new GranularRoundedCorners(30,80,80,30))
                .into(iv);
Glide.with(this).load("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic.jj20.com%2Fup%2Fallimg%2F1111%2F06301Q05335%2F1P630105335-6.jpg&refer=http%3A%2F%2Fpic.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1650174892&t=15a15b4a0efeada15506dbba74e61e86")
                .transform(new Rotate(90))
                .into(iv);

将这些最常用的做一些记录。

上一篇 下一篇

猜你喜欢

热点阅读