Android中利用shape实现圆角

2016-12-16  本文已影响60人  maxwellyue

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

属性解释

问题与解决

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

    <corners
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp"
        android:bottomRightRadius="0dp"
        android:bottomLeftRadius="0dp"
        />

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

正确的做法是:

<corners
        android:radius="2dp" //这里要首先设置
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp"
        android:bottomRightRadius="0dp"
        android:bottomLeftRadius="0dp"
        />

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

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

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

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

上一篇下一篇

猜你喜欢

热点阅读