0

我在布局中有一个 TextView,单击文本时我想更改颜色,我知道我可以使用text.setTextColor(Color.parseColor("#FFFFFF"));,但问题是颜色没有保存,并且按下后颜色没有改变,我该怎么办?

4

3 回答 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

或者你可以注册ontouchlistenerbutton 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 回答