![](https://img.haomeiwen.com/i25021128/fcc7c4be08d9a528.png)
在开发中,我们可能会遇到让方形的图片
变成圆形图片
。这篇博客分享一个可以帮我快速实现圆形图片的需求,希望能提高小伙伴们的开发效率。
CircleImageView
一个圆形图片样式库,很多项目中都可能使用这个库来做圆形图片。
引入项目
dependencies {
...
implementation 'de.hdodenhof:circleimageview:3.1.0'
}
截止我写博客,这个开源库最新的版本是3.1.0
。最近的开源库版本可以查看文档
效果图
![](https://img.haomeiwen.com/i25021128/2dd9e64ad3905e2d.png)
这个效果图来源于开源库的例子。
使用示例
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/profile_image"
android:layout_width="96dp"
android:layout_height="96dp"
android:src="@drawable/profile"
app:civ_border_width="2dp"
app:civ_border_color="#FF000000"/>
在XML
里面使用,代码中跟ImageView
使用是一样的。主要注意的地方:
-
ScaleType
始终为CENTER_CROP
,如果使用其他的ScaleType
可能会遇到异常。 - 如果您使用
Picasso
或Glide
之类的图像加载库,则需要禁用它们的淡入淡出动画以避免混乱的图像。-
Picasso
使用noFade()
选项,Glide
使用dontAnimate()
。 - 如果要保留淡入动画,则必须将图像提取到Target,并在接收到时自己应用自定义动画Bitmap。
-
网友评论