每个州的EditText可绘制背景

时间:2012-06-30 16:36:39

标签: android

我想自定义背景。所以我在每个州的选择器中设计形状。但第一项执行。

这是我的代码:

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:color="@android:color/black" >
        <shape android:shape="rectangle" >
            <solid android:color="#FFFFFF" />
            <stroke
                android:width="1dp"
                android:color="#000000" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <item android:state_pressed="true" android:color="@android:color/black" >
        <shape android:shape="rectangle" >
            <solid android:color="#8faefd" />
            <stroke
                android:width="3dp"
                android:color="#000000" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
            <corners android:radius="10dp" />
        </shape>
    </item>
</selector>

1 个答案:

答案 0 :(得分:1)

State List

  

在每次状态更改期间,状态列表从上到下遍历   并且使用与当前状态匹配的第一个项目   选择不是基于“最佳匹配”,而只是第一项   符合国家最低标准。

所以你必须交换这两个项目。应该是那样的

<selector xmlns:android="http://schemas.android.com/apk/res/android" >
    <item android:state_pressed="true" android:color="@android:color/black" >
        <shape android:shape="rectangle" >
            <solid android:color="#8faefd" />
            <stroke
                android:width="3dp"
                android:color="#000000" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
            <corners android:radius="10dp" />
        </shape>
    </item>
    <item android:color="@android:color/black" >
        <shape android:shape="rectangle" >
            <solid android:color="#FFFFFF" />
            <stroke
                android:width="1dp"
                android:color="#000000" />
            <padding
                android:left="10dp"
                android:top="10dp"
                android:right="10dp"
                android:bottom="10dp" />
            <corners android:radius="10dp" />
        </shape>
    </item>
</selector>