背景
今天项目中需要用到一个圆角图片,一般来说要么裁剪Drawable,要么就是裁剪画布,这都需要用到自定义控件,有点小麻烦,其实也可以用到gilde框架进行处理:
/**
* 加载圆角图片
*
*/
public static void loadImageCircle(Context context, ImageView imageView, Object url, int dp) {
//设置图片大小
RoundedCorners roundedCorners = new RoundedCorners(dp);
//扩展功能
RequestOptions options = RequestOptions.bitmapTransform(roundedCorners)
.placeholder(new ColorDrawable(Color.GRAY))//设置占位图
.error(R.mipmap.logo_app)//设置异常图片
.override(300, 300);//降低内存消耗
Glide.with(context)
.asBitmap()
.load(url)
.apply(options)
.into(imageVie);
}
但是不巧的是小项目没用到gilde框架,不想为了一个圆角引用一个库,于是google一番,发现还是有解决方案的,就是套一层cardView
<androidx.cardview.widget.CardView
android:layout_width="@dimen/size_72"
android:layout_height="@dimen/size_72"
android:layout_gravity="center_horizontal"
app:cardElevation="0dp" //去掉cardview 的阴影效果
app:cardCornerRadius="@dimen/size_13">
<ImageView
android:id="@+id/setting_logo_iv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop" />
</androidx.cardview.widget.CardView>
效果如下
对其他View例如Button,TextView都是适用的
打完收工