我一直在关注这个问题的答案Making a triangle shape using xml definitions?。
我需要创建一个看起来像箭头的三角形放在所选列表项的末尾(参见附图)。
我已通过以下方式设法让它发挥作用:
shape_diamond.xml
-----------------
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<rotate android:fromDegrees="45" android:toDegrees="45">
<shape android:shape="rectangle">
<stroke android:color="@color/color_transparent" android:width="10dp"/>
<solid android:color="@color/color_gray" />
</shape>
</rotate>
</item>
</layer-list>
并创建一个新选择器
selector_list_item.xml
----------------------
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="true">
<layer-list>
<item android:drawable="@color/color_orange" />
<item android:width="28dp"
android:height="28dp"
android:right="-14dp"
android:gravity="center|right"
android:drawable="@drawable/shape_diamond" />
</layer-list>
</item>
<item android:state_selected="true">
<layer-list>
<item android:drawable="@color/color_orange" />
<item android:width="28dp"
android:height="28dp"
android:right="-14dp"
android:gravity="center|right"
android:drawable="@drawable/shape_diamond" />
</layer-list>
</item>
<item android:state_focused="true">
<layer-list>
<item android:drawable="@color/color_orange" />
<item android:width="28dp"
android:height="28dp"
android:right="-14dp"
android:gravity="center|right"
android:drawable="@drawable/shape_diamond" />
</layer-list>
</item>
<item android:drawable="@color/color_transparent" />
</selector>
一切都适用于API 23+,因为它支持“WIDTH”属性。但它在23以下的API中不起作用。
是否有人知道如何使其适用于 以下 API 23的API 不支持“WIDTH”属性?< / p>