Android 更改焦点上的文本视图颜色
在我的相对布局中有imageview、textview和其他视图。现在我的问题是文本视图的颜色在聚焦时没有改变。我的布局是Android 更改焦点上的文本视图颜色,android,textview,Android,Textview,在我的相对布局中有imageview、textview和其他视图。现在我的问题是文本视图的颜色在聚焦时没有改变。我的布局是 <RelativeLayout android:id="@+id/view" android:background="@drawable/bg1" android:focusable="true" android:clickable="true" android:layout_width="wrap_content" android:layout_heigh
<RelativeLayout android:id="@+id/view"
android:background="@drawable/bg1"
android:focusable="true"
android:clickable="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/text"
android:textStyle="bold"
android:textSize="20dp"
android:textColor="@color/selector" />
这里第43行是xml中textview的开始,为textview实现OnFocusChangeListener
textView.setOnFocusChangeListener(new OnFocusChangeListener() {
@Override
public void onFocusChange(View v, boolean hasFocus) {
if(hasFocus){
//do something
}else {
//do something
}
}
});
实现XML可绘制。您可以通过在xml中定义EffectonFocus、onPress等来实现它。 mycustom.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_focused="true" android:drawable="@drawable/your_imagename_while_focused"/>
<item android:state_pressed="true" android:drawable="@drawable/your_imagename_while_pressed" />
<item android:drawable="@drawable/image_name_while_notpressed" /> //means normal
</selector>
//意味着正常
Android在textView xml中
<TextView
.
.
.
.
android:Background="@drawable/mycustom.xml"
.
/>
嗨,我刚刚尝试了下面的方法,它对我有效 创建一个可绘制文件colorchange.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="@android:color/holo_blue_dark"/>
<item android:state_pressed="true" android:color="@android:color/holo_red_light" />
<item android:state_focused="false" android:color="@android:color/white" />
<item android:state_pressed="false" android:color="@android:color/white" />
</selector>
希望这有帮助。您也可以对设计本身做同样的事情,即使用xml。参考这个,我需要在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="@android:color/holo_blue_dark"/>
<item android:state_pressed="true" android:color="@android:color/holo_red_light" />
<item android:state_focused="false" android:color="@android:color/white" />
<item android:state_pressed="false" android:color="@android:color/white" />
</selector>
android:textColor="@drawable/colorchange"