你有没有遇到自定义形状图片的需求呢?我发现一个了关于自定义图片形状
的开源库。这篇博客来分享它,希望对你有所帮助。
android-shape-imageview
这个库主要提供自定义形状的Imageview
,以及更多自定义框架。
引入项目
implementation 'com.github.siyamed:android-shape-imageview:0.9.+@aar'
截止我写博客的最新版本是0.9
,最近的版本请查看开源库文档
需要注意的事情是,因为比较老的开源库,我们可以看代码学习。这个库并不适配AndroidX
,导入最新的项目中可能会出现报错。
效果图
使用示例
BubbleImageView
<com.github.siyamed.shapeimageview.BubbleImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/neo"
app:siArrowPosition="right"
app:siSquare="true"/>
属性说明:
-
siTriangleHeight
,指的是气泡的高度; -
siArrowPosition
,指的是箭头的位置,可选left|right
; -
siSquare
,指的是将宽度和高度设置为给定值的最小值true|false
;
RoundedImageView
<com.github.siyamed.shapeimageview.RoundedImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/neo"
app:siRadius="6dp"
app:siBorderWidth="6dp"
app:siBorderColor="@color/darkgray"
app:siSquare="true"/>
属性说明:
-
siBorderColor
,指的是边框颜色; -
siBorderWidth
,指的是中的边框宽度; -
siBorderAlpha
,指的是边界的 alpha 值在 0.0-1.0 之间; -
siRadius
,指的是圆角半径; -
siSquare
,指的是将宽度和高度设置为给定值的最小值true|false
。
CircularImageView
<com.github.siyamed.shapeimageview.CircularImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:src="@drawable/neo"
app:siBorderWidth="6dp"
app:siBorderColor="@color/darkgray"/>
属性说明:
-
siBorderColor
,指的是边框颜色; -
siBorderWidth
,指的是边框宽度; -
siBorderAlpha
,指的是边界的 alpha 值在0.0-1.0
之间。
上面我为大家列举项目开发中比较常见到的需求实现,想要了解更多的效果的话,需要具体去看看开源库源码,可以尝试自己定制一下。