如果要分别设置上下左右的圆角
如下面的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个角都是圆角的图,然后再在左边画个矩形把左边的圆角给盖住,
效果图: