android shape 圆角百分比,Android中利用shape实现圆角

在Android开发中,为View设置圆角看似简单,但实际操作时可能会遇到设置无效的情况。本文详细介绍了如何正确使用shape XML来创建具有指定圆角的矩形,特别是当只想设置部分角为圆角时的注意事项。关键点包括:1) 圆角半径必须大于1dp;2) 单独设置某些角为圆角时,需先声明总半径radius,再逐一指定各角的半径。只有遵循这些规则,才能确保预览和实际运行效果一致。

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

按道理来讲,实现圆角很简单,在shape中设置corners即可。但是有时候会出现即使设置了也不会出现圆角的效果。

属性解释

corners:设置圆角,只适用于rectangle类型,可分别设置四个角不同半径的圆角。

android:radius 圆角半径,会被下面每个特定的圆角属性重写

android:topLeftRadius 左上角的半径

android:topRightRadius 右上角的半径

android:bottomLeftRadius 左下角的半径

android:bottomRightRadius 右下角的半径

问题与解决

比如我想设置左边两个角为圆角,正常思路是:

android:topLeftRadius="8dp"

android:topRightRadius="8dp"

android:bottomRightRadius="0dp"

android:bottomLeftRadius="0dp"

/>

但实际情况是,这样并不会出现圆角的效果。

正确的做法是:

android:radius="2dp" //这里要首先设置

android:topLeftRadius="8dp"

android:topRightRadius="8dp"

android:bottomRightRadius="0dp"

android:bottomLeftRadius="0dp"

/>

此时,在Android studio 中看预览效果还是4个圆角, 但实际运行是满足的。

注意以下几点

1、在设置圆角时,圆角半径的大小必须大于1,否则是没有圆角效果的。

2、如果你想单独设置某几个角是圆角, 你必须首先声明 radius 属性(必须大于1),

然后在其他四个角的属性中设置每个角的实际想要的半径大小, 不想圆角的设置为("0dp").

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值