[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

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值