繁体   English   中英

如何在Android中的TextView所选项目中更改永久文本颜色?

[英]How to do permanent text color change in TextView selected item in Android?

我想在TextView上的按键上进行永久的颜色更改。

这是我的颜色选择器,位于res / color文件夹中。

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:color="#a7524a"/>
<item android:state_focused="true" android:state_enabled="false" android:color="#a7524a"/>
<item android:state_pressed="true" android:color="#a7524a"/>
<item android:color="#595959"/>
</selector>

在TextView中,我将其称为

android:textColor="@color/bright_text_dark_focused"

工作正常。 我想在用户a按下TextView项目并释放时使颜色永久更改。 默认情况下,它使用发行时的默认颜色。

更新:

我将颜色选择器更改为

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">      
<item android:state_focused="true" android:color="#a7524a"/>
<item android:state_pressed="true"  android:color="#a7524a" />   
<item android:color="#595959"/>    
</selector>

这和以前一样。 我已经添加了

android:textIsSelectable = "true"

TextView中的属性。 然后,选择属性上的背景色消失。 但是,当我单击项目时,文本颜色将变为永久性。 为什么会发生这种情况的任何线索? 实际上,我在列表视图中有此textview。 背景颜色属性来自ListView。

我认为,如果您添加了<item android:state_enabled="true" android:color="@color/bright_text_dark_focused"/>然后启用了TextView ,它将保持<item android:state_enabled="true" android:color="@color/bright_text_dark_focused"/> 只要您从未禁用它,就是这种情况。

android:state_activated必须解决您的问题:

<item android:state_activated="true" android:color="#fff"/>

您可以为您的listView设置此设置:

mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

当listView项目单击时:

mListView.setItemChecked(position, true);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM