[Widget]ShapeImageView-图形裁剪ImageView

ShapeImageView是一款适用于API 21及以上的图形裁剪ImageView,支持动态图和固定高宽缩放比。通过setOutlineProvider和BitmapShader实现,提供前景Drawable支持,兼容多种ScaleType,并在API 21上具有高性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

ShapeImageView

ICON

图形裁剪ImageView,API 21 及以上 使用 setOutlineProvider 方式实现,支持动态图;以下使用 BitmapShader 方式实现。
支持固定高宽缩放比缩放,支持前景Drawable,支持ImageView的所有ScaleType,且API 21具备更高性能。

预览

Screenshots

要求

minSdkVersion 4

链接

使用

  • 基本布局
<am.widget.shapeimageview.ShapeImageView
    android:id="@+id/siv_image_c"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_margin="5dp"
    android:layout_weight="1"
    android:clickable="true"
    android:scaleType="centerCrop"
    android:src="@drawable/bg_welcome"
    app:sivBorderColor="@color/colorAccent"
    app:sivBorderWidth="2dp"
    app:sivForeground="@drawable/bg_common_press_dark"
    app:sivHeightScale="1"
    app:sivScaleTarget="height"
    app:sivShape="Circle"
    app:sivWidthScale="1" />
  • 基本代码
ShapeImageView sivCircle = (ShapeImageView) findViewById(id);
sivCircle.setBorderColor(color);
sivCircle.setFixedSize(width, height);
sivCircle.setBorderWidth(border);
sivCircle.setImageShape(new RoundRectImageShape(radius));

注意

  • 基本可以通过布局实现基础代码
  • 布局sivRoundRectRadius属性只在sivShape=”RoundRect”时有效
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值