[Android开发]不操作Bitmap实现圆角ImageView、圆形ImageView,支持添加背景圆形或圆角矩形边框、边框支持渐变色

一、主要解决的使用场景

        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~~~

https://github.com/FlyJingFish/OpenImage


版权声明:本文为u013077428原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。