API的列表中的箭头形状如箭头所示; 23

时间:2018-01-16 06:55:02

标签: android xml-drawable

我一直在关注这个问题的答案Making a triangle shape using xml definitions?

我需要创建一个看起来像箭头的三角形放在所选列表项的末尾(参见附图)。

ArrowWithTriangle

我已通过以下方式设法让它发挥作用:

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>

0 个答案:

没有答案