我正在尝试使用圆角按钮进行对话。但它不能在 API_LEVEL14
下工作我正在尝试this,但没有解决方案。 如果您有任何api-14以下的解决方案,请分享。
对于以下API 14,它显示为
并且它在14级及以上的时候运行良好
代表right_below_corner.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false"><shape android:shape="rectangle">
<solid android:color="@color/header_bg_disable" />
<corners android:topLeftRadius="0dp" />
<corners android:topRightRadius="0dp" />
<corners android:bottomLeftRadius="0dp" />
<corners android:bottomRightRadius="10dp" />
<stroke android:width="1dp" android:color="@color/header_bg_disable" />
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
<item android:state_pressed="true"><shape android:shape="rectangle">
<solid android:color="@color/header_bg_press" />
<corners android:topLeftRadius="0dp" />
<corners android:topRightRadius="0dp" />
<corners android:bottomLeftRadius="0dp" />
<corners android:bottomRightRadius="10dp" />
<stroke android:width="1dp" android:color="@color/header_bg_press" />
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
<item android:state_pressed="false"><shape android:shape="rectangle">
<solid android:color="@color/header_bg" />
<corners android:topLeftRadius="0dp" />
<corners android:topRightRadius="0dp" />
<corners android:bottomLeftRadius="0dp" />
<corners android:bottomRightRadius="10dp" />
<stroke android:width="1dp" android:color="@color/header_bg" />
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
</selector>
和bottom_left_corner.xml
是
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"><shape android:shape="rectangle">
<solid android:color="@color/header_bg_press" />
<corners android:bottomLeftRadius="10dp" />
<corners android:topLeftRadius="0dp" />
<corners android:topRightRadius="0dp" />
<corners android:bottomRightRadius="0dp" />
<stroke android:width="1dp" android:color="@color/header_bg_press" />
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
<item android:state_pressed="false"><shape android:shape="rectangle">
<solid android:color="@color/header_bg" />
<corners android:topLeftRadius="0dp" />
<corners android:topRightRadius="0dp" />
<corners android:bottomRightRadius="0dp" />
<corners android:bottomLeftRadius="10dp" />
<stroke android:width="1dp" android:color="@color/header_bg" />
<padding android:bottom="4dp" android:left="4dp" android:right="4dp" android:top="4dp" />
</shape></item>
</selector>
答案 0 :(得分:1)
是的,在版本3.1之前,Android中存在一个错误。分别指定角时,左下角和右下角会翻转: http://code.google.com/p/android/issues/detail?id=9161
唯一的解决方案是为这两个版本制作单独的xml文件。像这样:
res / drawable / corners.xml - 使用反转值
res / drawable-v12 / corners.xml - 使用正常值