美文网首页
Android中利用shape实现圆角

Android中利用shape实现圆角

作者: maxwellyue | 来源:发表于2016-12-16 20:00 被阅读60次

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

    属性解释

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

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

      android:topLeftRadius 左上角的半径

      android:topRightRadius 右上角的半径

      android:bottomLeftRadius 左下角的半径

      android:bottomRightRadius 右下角的半径

    问题与解决

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

        <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").

    相关文章

      网友评论

          本文标题:Android中利用shape实现圆角

          本文链接:https://www.haomeiwen.com/subject/fjxomttx.html