1.Glide网络图片加载库
添加依赖:
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'jp.wasabeef:glide-transformations:2.0.1'
加载方式:
Glide.with(getContext())
.load(url)
.into(targetView);//url加载,targetView是目标imageView
Glide.with(getContext())
.load(resId)
.into(targetView);//视图加载
Glide.with(getContext())
.load(url)
.bitmapTransform(new CropCircleTransformation(getContext()))
.into(targetView);//圆形
2.Fresco网络图片加载库
注意事项:
Fresco.initialize(this);//需要在使用的activity或Application里初始化
添加依赖:
compile 'com.facebook.fresco:fresco:0.9.0'
加载方式:
1.定义视图:
<com.facebook.drawee.view.SimpleDraweeView
android:id="@+id/my_image_view"
android:layout_width="200dp"
android:layout_height="200dp"
fresco:placeholderImage="@mipmap/before"
/>
2.常用属性:
android:layout_width="20dp" // 不支持wrap_content, 如果要设置宽高比, 需要在Java代码中指定setAspectRatio(float ratio);
android:layout_height="20dp" // 不支持wrap_content
fresco:placeholderImage="@color/wait_color" // 下载成功之前显示的图片 fresco:placeholderImageScaleType="fitCenter" // 设置图片缩放. 通常使用focusCrop,该属性值会通过算法把人头像放在中间
fresco:failureImage="@drawable/error" // 加载失败的时候显示的图片 fresco:failureImageScaleType=“centerInside" // 设置图片缩放
fresco:retryImage="@drawable/retrying" // 加载失败,提示用户点击重新加载的图片(会覆盖failureImage的图片)
fresco:retryImageScaleType="centerCrop"
// 是不是设置圆形方式显示图片 fresco:roundAsCircle="false" // 圆角设置 fresco:roundedCornerRadius="1dp" fresco:roundTopLeft="true" fresco:roundTopRight="false" fresco:roundBottomLeft="false" fresco:roundBottomRight="true" fresco:roundWithOverlayColor="@color/corner_color" fresco:roundingBorderWidth="2dp" fresco:roundingBorderColor="@color/border_color"
3.加载图片:
simpleDraweeView = (SimpleDraweeView) findViewById(R.id.main_sdv);
//创建将要下载的图片的URI
Uri imageUri = Uri.parse("https://img-my.csdn.net/uploads/avatar_y1scp.jpg");
//开始下载
simpleDraweeView.setImageURI(imageUri);
//创建DraweeController
DraweeController controller = Fresco.newDraweeControllerBuilder()
//加载的图片URI地址
.setUri(imageUri)
//设置点击重试是否开启
.setTapToRetryEnabled(true)
//设置旧的Controller
.setOldController(simpleDraweeView.getController())
//构建
.build();
//设置DraweeController
simpleDraweeView.setController(controller);