android 设置一边圆角,Android Shape设置任意个数圆角

Android Resource中有个shape类型得xml可以设置控件得形状,shape文件定义在drawable目录中,且shape标签必须为root element.官方推荐得标准写法为:

xmlns:android="http://schemas.android.com/apk/res/android"

android:shape=["rectangle" | "oval" | "line" | "ring"] >

android:radius="integer"

android:topLeftRadius="integer"

android:topRightRadius="integer"

android:bottomLeftRadius="integer"

android:bottomRightRadius="integer" />

android:angle="integer"

android:centerX="float"

android:centerY="float"

android:centerColor="integer"

android:endColor="color"

android:gradientRadius="integer"

android:startColor="color"

android:type=["linear" | "radial" | "sweep"]

android:useLevel=["true" | "false"] />

android:left="integer"

android:top="integer"

android:right="integer"

android:bottom="integer" />

android:width="integer"

android:height="integer" />

android:color="color" />

android:width="integer"

android:color="color"

android:dashWidth="integer"

android:dashGap="integer" />

值得注意的是,在设置corners的时候,如果想要指定部分圆角,需要将所有的topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius放在一个corners里面,如果每个都放在一个corners里面,最下面的将覆盖最上面的。且:对于指定部分的圆角,官方文档上有说明,需要设置一个radius,并且值需要大于1,其它的如果想设置圆角的地方可以直接写自己想要的值,不想设置圆角的地方则设置为0dp,但是实际测试中发现,不需要设置radius也可以,(可能是测试的手机的api不对)。

Note: Every corner must (initially) be provided a corner radius greater than 1, or else no corners are rounded. If you want specific corners to not be rounded, a work-around is to use android:radius to set a default corner radius greater than 1, but then override each and every corner with the values you really want, providing zero ("0dp") where you don't want rounded corners.

所以,在写shape的时候,需要注意的是将所有的圆角设置在一个corners里面,否则会被覆盖!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值