为按钮定义xml文件以根据状态更改背景和textColor

时间:2012-05-25 22:06:19

标签: android xml

我将此用于我自己的按钮,以设置按下和未按下状态的背景:

<?xml version="1.0" encoding="utf-8"?>

<item android:drawable="@drawable/btn1_pressed" android:state_pressed="true"/>
<item android:drawable="@drawable/btn1_unpressed"/> <!-- default -->

但我也喜欢textColor在状态下变成白色。 我试着在项目中添加textColor="#ffffff",但我想这不是正确的方法,因为它不起作用。

如果不必在使用此按钮的每个java文件中对其进行编码,最佳方法是什么?

谢谢!

1 个答案:

答案 0 :(得分:3)

最好的方法是将文本颜色和背景资源分开设置。

android:background="@drawable/background"
android:textColor="@drawable/button_text_color"

所以你的背景就像你自己写的那样

和Textcolor:

<?xml version="1.0" encoding="UTF-8"?>
<selector
  xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_pressed="true" android:color="#ffffffff" />
    <item android:color="#ff000000" />
</selector>