一、主要解决的使用场景
1、使用Glide加载图片时,我们往往需要设置加载中和加载失败的图片,app中不同的页面的显示的图片可能是圆形,也可能是圆角矩形图,Glide设置placeholder和error的图片并不能根据RequestOptions设置的参数显示,就需要设置多张placeholder和error的图片。这个库可以把加载中、加载失败、加载成功的图片统一设置为圆形或圆角矩形,因此会减少设置多个样式图片
2、有很多图片都有圆形背景边框或者圆角矩形边框,我们往往需要写很多个shape的xml文件。这个库可以设置圆形或圆角矩形边框,支持渐变颜色,满足绝大多数使用场景,因此可减少创建shape的xml文件个数
3、有些图片太长时需要裁剪前半部分,这个库新增支持四种显示模式
https://github.com/FlyJingFish/ShapeImageView
二、支持功能
1、支持圆形或圆角矩形图片,不限图片设置方式,完美兼容所有的图片加载库
2,支持渐变色圆角框或圆形框
3,圆角框 支持四个角独立设置角度值,圆角图像 同样支持四个角独立设置角度值
4,新增支持startCrop、endCrop、autoStartCenterCrop、autoEndCenterCrop四种显示模式
5,autoStartCenterCrop和autoEndCenterCrop显示模式可通过设置autoCrop_height_width_ratio之后,自动在startCrop和centerCrop(endCrop和centerCrop)之间切换
三、使用说明
<com.flyjingfish.shapeimageviewlib.ShapeImageView
android:id="@+id/iv_centerCrop"
android:layout_width="110dp"
android:layout_height="110dp"
android:layout_marginStart="10dp"
android:padding="10dp"
app:shape="rectangle"
app:shape_border="rectangle"
app:shape_border_width="3dp"
app:shape_border_angle="45"
app:shape_left_top_radius="8dp"
app:shape_right_top_radius="12dp"
app:shape_right_bottom_radius="16dp"
app:shape_left_bottom_radius="20dp"
app:shape_border_left_top_radius="10dp"
app:shape_border_right_top_radius="15dp"
app:shape_border_right_bottom_radius="20dp"
app:shape_border_left_bottom_radius="25dp"
app:shape_border_gradient="true"
app:shape_border_startColor="@color/purple_200"
app:shape_border_endColor="@color/teal_700"
android:scaleType="centerCrop" />
更多使用说明看Github:
https://github.com/FlyJingFish/ShapeImageView
如果你项目中还需要点击小图查看大图的功能,可以直接使用我的另一个开源库,支持动画放大效果,其内置了ShapeImageView,Github地址如下,欢迎Star~~~