【问题标题】:How to do permanent text color change in TextView selected item in Android?如何在 Android 中的 TextView 选定项中进行永久文本颜色更改?
【发布时间】:2012-09-14 21:18:21
【问题描述】:

我想在 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 中的属性。然后选择属性上的背景颜色消失。但是当我点击这些项目时,文本颜色会变成永久性的。为什么会发生这种情况的任何线索?实际上我在列表视图中有这个文本视图。背景颜色属性来自 ListView。

【问题讨论】:

  • 你看过我的回答了吗?

标签: android textview android-selector


【解决方案1】:

我认为,如果您添加行 &lt;item android:state_enabled="true" android:color="@color/bright_text_dark_focused"/&gt; 然后启用TextView on touch,它将保留。只要您从不禁用它,就是这种情况。

【讨论】:

  • 我已经添加了这一行。应用停止启动。
  • 有没有可能做到这一点?
  • 你是什么意思它停止启动?此行不应该对启动产生任何影响。
【解决方案2】:

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

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

你也可以为你的 listView 设置这个:

mListView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

当 listView 项目点击这个时:

mListView.setItemChecked(position, true);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多