Android 如何将选择器添加到视图';边界

Android 如何将选择器添加到视图';边界,android,selector,Android,Selector,我有一个带黑色边框的edittextview。如何使用选择器根据状态更改此边框颜色 我试过这个: <EditText android:layout_width="fill_parent" android:layout_height="48dp" android:background="@drawable/black_rounded_borders" /> 黑色圆形边框.xml <?xml version="1.0" enco

我有一个带黑色边框的edittextview。如何使用选择器根据状态更改此边框颜色

我试过这个:

<EditText
        android:layout_width="fill_parent"
        android:layout_height="48dp"
        android:background="@drawable/black_rounded_borders"
/>

黑色圆形边框.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#FFFFFFFF" />

    <stroke
        android:width="2dp"
        android:color="@drawable/selector_black_border" />


    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:color="#FF269ff5"/>
    <item android:state_focused="true" android:color="#FF269ff5"/>
    <item android:color="#FF000000"/>

</selector>

选择器\u black\u border.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#FFFFFFFF" />

    <stroke
        android:width="2dp"
        android:color="@drawable/selector_black_border" />


    <corners
        android:bottomLeftRadius="5dp"
        android:bottomRightRadius="5dp"
        android:topLeftRadius="5dp"
        android:topRightRadius="5dp" />

</shape>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">

    <item android:state_pressed="true" android:color="#FF269ff5"/>
    <item android:state_focused="true" android:color="#FF269ff5"/>
    <item android:color="#FF000000"/>

</selector>

编辑:

<EditText
        android:layout_width="fill_parent"
        android:layout_height="48dp"
        android:background="@drawable/black_rounded_borders"
/>
我将选择器\u black\u border.xml更改为颜色文件夹

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

    <item android:state_focused="true" android:color="#FF269ff5"/>
    <item android:state_pressed="true" android:color="#FF269ff5"/>
    <item android:state_selected="true" android:color="#FF269ff5"/>
    <item android:state_focused="false" android:color="#FF000000"/>
    <item android:state_pressed="false" android:color="#FF000000"/>
    <item android:state_selected="false" android:color="#FF000000"/>

</selector>


 <stroke
       android:width="2dp"
       android:color="@color/selector_black_border" />

但即使没有聚焦/按下,它也始终保持蓝色(“#FF269ff5”)


谢谢。

您必须将选择器放入
color/
中,然后

<stroke
        android:width="2dp"
        android:color="@color/nameofcolor">


嘿,一开始我以为它管用,但事实并非如此。请检查编辑部分。检查编辑文本是否保持焦点。我将通过步骤。从按下on/off开始,如果它起作用,则添加更多状态NO
editText.hasFocus()
在活动开始时返回
False
,但边框为蓝色。尝试一次添加一个状态,以了解是哪一个状态导致问题。如果我删除所有
True
状态,它将显示黑色。如果我添加任何
True
状态,它将显示蓝色。