我在布局中有一个 TextView,单击文本时我想更改颜色,我知道我可以使用text.setTextColor(Color.parseColor("#FFFFFF"));
,但问题是颜色没有保存,并且按下后颜色没有改变,我该怎么办?
问问题
626 次
3 回答
4
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:state_pressed="true"
android:color="#ffffffff"/> <!-- pressed -->
<item android:state_focused="true"
android:color="#ff0000ff"/> <!-- focused -->
<item android:color="#ff000000"/> <!--default -->
</selector>
于 2013-09-03T07:35:47.440 回答
3
您可以为您创建一个选择器textView
http://developer.android.com/guide/topics/resources/drawable-resource.html#LayerList
或者你可以注册ontouchlistener
你button
http://developer.android.com/reference/android/view/View.OnTouchListener.html
并在 MotionEvent 的帮助下,您可以在按下和释放按钮时切换动作
http://developer.android.com/reference/android/view/MotionEvent.html
于 2013-09-03T07:35:14.023 回答
0
出色地!
您可以为所有 4 种状态定义文本颜色,类似于为按钮定义背景。例如:
文件名:/res/color/text_color.xml
保存在 res/drawable/button.xml 的 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="#440000"/>
<item android:state_focused="true" android:color="#004400"/>
<item android:state_pressed="true" android:color="#000044"/>
<item android:color="#444"/>
</selector>
将此文件放入您的 Button Style(\res\values\styles.xml) 中,如下所示:
<style name="button_text" parent="@android:style/Widget.Button">
<item name="android:textColor">@color/text_color.xml</item> <!-- Here is specified text color -- >
</style>
现在将此样式添加到您的按钮
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
style="@style/button_text">
</Button>
有关详细信息,请查看此
于 2013-09-03T07:41:14.687 回答