Fresco
加入依赖 记得配置App初始化
//fresco 图片依赖
implementation 'com.facebook.fresco:fresco:1.11.0'
//fresco GIF依赖
implementation 'com.facebook.fresco:animated-gif:1.11.0'
配置App全局设置
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
===============无缓存========
// //调用Fresco类 里的初始化方法 传上下文this 然后在清单文件添加
// Fresco.initialize(this);
===============有缓存========
// 高级初始化
Fresco.initialize(this, ImagePipelineConfig.newBuilder(App.this)
.setMainDiskCacheConfig(
DiskCacheConfig.newBuilder(this)
.setBaseDirectoryPath(new File("SD卡路径")) // 注意Android运行时权限。
.build()
)
.build()
);
}
}
配置清单文件
android:name=".App"
在布局中加入控件
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/msimple"
android:layout_width="100dp"
android:layout_height="100dp"
fresco:roundAsCircle="true"/>
开始使用
//找到控件
mSimple =(SimpleDraweeView) findViewById(R.id.msimple );
//1、直接加载
Uri uri = Uri.parse("图片链接");
// simple.setImageURI(uri);
// 加载本地资源需要 加载本地路径
// 例: String urlgif1="res:///"+R.drawable.aaa;
// 2、加载gif
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
//图片地址
.setUri(urlgif1)
//播放gif 图片
.setAutoPlayAnimations(true)
//点击重新加载时 可以重新加载4 次
.setTapToRetryEnabled(true)
.build();
simple.setController(controller);
高斯模糊的方法
//高斯模糊
showUrlBlur(simple,url,100,10);
/**
* 以高斯模糊显示。
* @param draweeView View。
* @param url url.
* @param iterations 迭代次数,越大越模糊。
* @param blurRadius 模糊图半径,必须大于0,越大越模糊。
*/
public static void showUrlBlur(SimpleDraweeView draweeView, String url, int iterations, int blurRadius) {
try {
Uri uri = Uri.parse(url);
ImageRequest request = ImageRequestBuilder.newBuilderWithSource(uri)
.setPostprocessor(new IterativeBoxBlurPostProcessor(iterations, blurRadius))
.build();
AbstractDraweeController controller = Fresco.newDraweeControllerBuilder()
.setOldController(draweeView.getController())
.setImageRequest(request)
.build();
draweeView.setController(controller);
} catch (Exception e) {
e.printStackTrace();
}
}
ImageLoader
依赖
implementation 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'
写个图片控件
<ImageView
android:layout_width="150dp"
android:layout_height="wrap_content"
android:id="@+id/mimage"
android:src="@mipmap/ic_launcher"/>
配置App
public class App extends Application {
@Override
public void onCreate() {
super.onCreate();
ImageLoaderConfiguration aDefault = ImageLoaderConfiguration.createDefault(this);
ImageLoader.getInstance().init(aDefault);
}
}
配置清单文件
android:name=".App"
找到控件并赋值
ImageLoader.getInstance().displayImage(url,view);
Picasso
加入依赖
implementation 'com.squareup.picasso:picasso:2.3.2'
找到控件直接赋值
Picasso.with(context).load(url).fit().into(view);