如果按下文本视图,是否可以更改文本视图的文本颜色? 我希望实现闪烁效果,只要按下按钮,颜色变化就会持续。
我知道如何使用选择器列表和正确的状态更改textview的背景但是如果用户按下按钮或简单的textview,我该如何更改文本的颜色?
答案 0 :(得分:6)
您也可以为颜色定义选择器。仅区分被按状态和所有其他状态的简短示例是:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true"
android:color="#FFFFFF" />
<item
android:color="#4C566C" />
</selector>
有关选择器的完整文档,请参阅此unofficial documentation。
将每个颜色选择器放在一个文件中,并将这些文件放在项目资源文件夹中名为color的目录中。
答案 1 :(得分:1)
您可以使用setTextColor(ColorStateList)方法
进行更改myTextView.setTextColor(myColorStates);
答案 2 :(得分:1)
搜索要在
中使用的颜色选择器机器人:setTexColor
ATTR
答案 3 :(得分:0)
myTextView.setTextColor( 0xFFFF0000 )
答案 4 :(得分:0)
取自官方documentation:
保存在res / color / button_text.xml的XML文件:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true"
android:color="#ffff0000"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!-- default -->
</selector>
此布局XML将颜色列表应用于视图:
<Button
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/button_text"
android:textColor="@color/button_text" />