android shape corners 设置无效的解决

来源:互联网 发布:淘宝泰隆达是正 编辑:程序博客网 时间:2024/05/03 17:44

如果要分别设置上下左右的圆角

如下面的shape

  <shape            android:padding="10dp"            android:shape="rectangle" >            <!-- 实心 -->            <solid android:color="@color/white" />            <!-- 圆角 --><!--             <corners android:radius="@dimen/switch_button_inside_radius" /> -->            <corners android:topRightRadius="@dimen/switch_button_inside_radius" />            <corners android:bottomRightRadius="@dimen/switch_button_inside_radius" />        </shape>

这样设置是没效果的,这是api的bug 


<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >    <item>        <shape            android:padding="10dp"            android:shape="rectangle" >            <!-- 实心 -->            <solid android:color="@color/white" />            <!-- 圆角 -->            <corners android:radius="@dimen/switch_button_inside_radius" />            <!-- <corners android:topRightRadius="@dimen/switch_button_inside_radius" /> -->            <!-- <corners android:bottomRightRadius="@dimen/switch_button_inside_radius" /> -->        </shape>    </item>    <item android:right="@dimen/switch_button_inside_radius">        <shape android:shape="rectangle" >            <solid android:color="@color/white" />        </shape>    </item></layer-list>


解决的方法是弄两层,后面那层用<corners android:radius="@dimen/switch_button_inside_radius" />画个4个角都是圆角的图,然后再在左边画个矩形把左边的圆角给盖住,

效果图:


0 1
原创粉丝点击