如何在Android中通过XML更改按钮的文本颜色?

4

我正在使用一个选择器来改变按钮在不同状态(聚焦、按下、正常)下的背景可绘制对象。是否有办法也改变文本颜色?我想为不同的按钮状态提供各种文本颜色,但我想从xml中进行操作。这可能吗?

4个回答

16

可以实现。您只需要按照按钮绘制的方式进行操作,然后将其分配给android:textColor="@drawable/yourselector"


这是个好主意。我会试一下的。 - Arnab Chakraborty
1
太棒了!我从来没有想过那个! - erdomester
对我来说,它给出了 android.content.res.Resources$NotFoundException 错误:从颜色状态列表资源 ID #0x7f020001 中找不到文件 res/drawable-hdpi/btn_text.xml。有什么建议吗? - CoDe

11
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
     <item android:state_pressed="true"
           android:color="#000000" /> <!-- pressed -->
     <item android:state_focused="true"
           android:color="#000000" /> <!-- focused -->
     <item android:color="#FFFFFF" /> <!-- default -->
</selector>

尝试将上述方法与android:drawable属性相结合。


1

如果是编程方面的话,你可以使用:

Button button = findViewById(R.id.yourbutton);
button.setTextColor(Color.yourcolor);

在 XML 中,它将是相同的事情。


0

在选择器中使用android:color="#ff0000"来设置focused状态的颜色,另外再设置一个颜色用于default状态。然后在按钮的xml文件中使用android:textColor="@drawable/yourselector"


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接