Android 如何将选择器添加到视图';边界
我有一个带黑色边框的edittextview。如何使用选择器根据状态更改此边框颜色 我试过这个: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
<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开始,如果它起作用,则添加更多状态NOeditText.hasFocus()
在活动开始时返回False
,但边框为蓝色。尝试一次添加一个状态,以了解是哪一个状态导致问题。如果我删除所有True
状态,它将显示黑色。如果我添加任何True
状态,它将显示蓝色。