最佳绘制一条边selector+layout-list 以及个s

2021-09-30  本文已影响0人  吉凶以情迁
<?xml version="1.0" encoding="utf-8"?>

<selector
    xmlns:android="http://schemas.android.com/apk/res/android"

    >
    <item android:state_enabled="true">

        <!--    控制内容右边距离防止和内容如何在一起-->
        <layer-list android:paddingRight="34dp">
            <item android:height="1dp" android:gravity="bottom">
                <shape>
                    <solid android:color="@color/spinner_color_selector" />
                </shape>
            </item>

            <item android:left="10dp" android:right="10dp">
                <bitmap android:gravity="right" android:src="@drawable/spinner_down" />
            </item>
        </layer-list>

    </item>
    <item android:state_enabled="false">

        <layer-list android:paddingRight="34dp">
            <item android:height="1dp" android:gravity="bottom">
                <shape>
                    <solid android:color="@color/spinner_color_selector" />
                </shape>
            </item>

            <item android:left="10dp" android:right="10dp">
                <bitmap android:gravity="right" android:src="@drawable/spinner_down_disable" />
            </item>
        </layer-list>

    </item>


</selector>






该方法不会绘制无关的背景颜色,网上的方法会强制设置2种背景颜色,而且导致重复绘制。

image.png
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_enabled="true">


        <layer-list android:paddingRight="34dp">
            <!--    控制内容右边距离防止和内容如何在一起-->
            <item android:width="150dp">
                <shape>
                    <!--    <solid android:color="@color/themeColorSecond"/>-->
                    <corners android:radius="3dp" />
                    <stroke android:width="1dp" android:color="@color/spinner_color_selector" />
                </shape>
            </item>

            <item android:left="10dp" android:right="10dp">
                <bitmap android:gravity="right" android:src="@drawable/spinner_down" />
            </item>
        </layer-list>
    </item>
    <item android:state_enabled="false">


        <layer-list android:paddingRight="34dp">
            <!--    控制内容右边距离防止和内容如何在一起-->
            <item>
                <shape>
                    <!--    <solid android:color="@color/themeColorSecond"/>-->
                    <corners android:radius="3dp" />
                    <stroke android:width="1dp" android:color="@color/shallowGray" />
                </shape>
            </item>

            <item android:left="10dp" android:right="10dp">
                <bitmap android:gravity="right" android:src="@drawable/spinner_down_disable" />
            </item>
        </layer-list>
    </item>


</selector>
image.png
上一篇 下一篇

猜你喜欢

热点阅读