我正在使用一个选择器
来改变按钮在不同状态(聚焦、按下、正常)下的背景可绘制对象。是否有办法也改变文本颜色?我想为不同的按钮状态提供各种文本颜色,但我想从xml中进行操作。这可能吗?
我正在使用一个选择器
来改变按钮在不同状态(聚焦、按下、正常)下的背景可绘制对象。是否有办法也改变文本颜色?我想为不同的按钮状态提供各种文本颜色,但我想从xml中进行操作。这可能吗?
可以实现。您只需要按照按钮绘制的方式进行操作,然后将其分配给android:textColor="@drawable/yourselector"
<?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
属性相结合。
如果是编程方面的话,你可以使用:
Button button = findViewById(R.id.yourbutton);
button.setTextColor(Color.yourcolor);
在 XML 中,它将是相同的事情。
在选择器中使用android:color="#ff0000"
来设置focused
状态的颜色,另外再设置一个颜色用于default
状态。然后在按钮的xml文件中使用android:textColor="@drawable/yourselector"