当我打电话setEnabled(false)的TextView对象的文本颜色没有变化.我预计它会变成灰色.如果我删除android:textColorXML文件中的行,它将恢复正常.
有任何想法吗 ?
Jer*_*gan 139
我认为发生的事情是,因为你覆盖了默认的文本颜色,所以它不会继承其他的textcolor样式.尝试为它创建一个ColorStateList并将textColor属性设置为它而不是颜色.
在颜色文件中(例如res/color/example.xml):
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@color/disabled_color" />
<item android:color="@color/normal_color"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
然后在你的布局中:
<TextView
android:text="whatever text you want"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/example" />
Run Code Online (Sandbox Code Playgroud)
注意,我有一段时间没有这样做,我从内存中输入了很多这个,所以可能需要稍微调整一下.ColorStateList文档(上面链接)有一个更加丰富的颜色XML文件示例.
| 归档时间: |
|
| 查看次数: |
38964 次 |
| 最近记录: |