SimpleDraweeView圆角

本文详细介绍如何使用RoundingParams对象在Android中设置图片的圆角效果,包括圆形显示、不同圆角半径的设置及淡入淡出动画。通过具体代码示例,读者可以学习到如何构建和应用GenericDraweeHierarchy来实现各种圆角需求。
//初始化圆角圆形参数对象
RoundingParams rp = new RoundingParams();
//设置图像是否为圆形
rp.setRoundAsCircle(true);
rp.setBorder(Color.RED,10);

GenericDraweeHierarchy hierarchy = GenericDraweeHierarchyBuilder.newInstance(getResources())
        //设置圆形圆角参数
        .setRoundingParams(rp)
        //设置圆角半径
        //.setRoundingParams(RoundingParams.fromCornersRadius(20))
        //分别设置左上角、右上角、左下角、右下角的圆角半径
        .setRoundingParams(RoundingParams.fromCornersRadii(20,25,30,35))
        //分别设置(前2个)左上角、(3、4)右上角、(5、6)左下角、(7、8)右下角的圆角半径
        //.setRoundingParams(RoundingParams.fromCornersRadii(new float[]{20,25,30,35,40,45,50,55}))
        //设置圆形圆角参数;RoundingParams.asCircle()是将图像设置成圆形
        //.setRoundingParams(RoundingParams.asCircle())
        //设置淡入淡出动画持续时间(单位:毫秒ms)
        .setFadeDuration(2000)
        //构建
        .build();
         view.setHierarchy(hierarchy);
在 Android 系统中将默认框框改为圆角有多种方式,以下为你介绍不同场景下的实现方法: ### 使用 Fresco 库 若使用 Fresco 库加载图片,可使用 `RoundingParams` 来设置圆角。不过,调用 `roundingParams.setOverlayColor()` 方法会指定为 `RoundingMethod.OVERLAY_COLOR` 模式,虽然设置成功,但因透明色的缘故,会用透明的圆角图层覆盖到展示的图片上,导致没有圆角效果。若使用其他颜色,又难以保证所有用到图片的地方背景色都一致,所以使用工具类统一加载图片时不建议采用这种方式。也可以在布局文件中设置圆角,示例如下: ```xml <com.facebook.drawee.view.SimpleDraweeView android:layout_width="@dimen/dp_332" android:layout_height="@dimen/dp_192" app:roundWithOverlayColor="@color/transparent"/> ``` 这种方式可以设置图片的圆角效果,不过要注意 `roundWithOverlayColor` 的使用情况 [^1]。 ### 使用 Jetpack Compose 在 Jetpack Compose 中,可以使用 `Box` 组件结合 `Modifier` 来实现圆角框。示例代码如下: ```kotlin Box( contentAlignment = Alignment.Center, modifier = Modifier .weight(1f) .fillMaxWidth() .padding(8.dp) // 调整外边距 .background(MaterialTheme.colorScheme.surface, shape = RoundedCornerShape(16.dp)) // 背景色和圆角效果 .border(2.dp, MaterialTheme.colorScheme.outline, shape = RoundedCornerShape(16.dp)) // 设置更粗的边框和圆角 .alpha(0.8f) // 设置透明度 ) { // 这里放置框内的内容 } ``` 通过 `background` 和 `border` 方法的 `shape` 参数指定 `RoundedCornerShape`,可以设置框的背景和边框的圆角效果 [^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

梦想不上班

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值