按下按钮时如何使用 xml 更改文本和背景颜色?
要更改文本颜色,我可以这样做:
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:color="mycolor"/>
<item android:color="mycolor2"/>
</selector>
要更改我可以做的背景(在具有可绘制参考的选择器/项目中使用它):
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#FF0079FF" />
</shape>
但我怎么能两者兼得?假设我想要:
- 默认值:黑色文本/白色背景
- 按下:白色文字/蓝色背景
编辑:回答
我完全忘记了背景和文本颜色是分开管理的,所以我就是这样做的:
<Button
android:textColor="@color/filtersbuttoncolors"
android:background="@drawable/mybackgroundcolors" />
在 mybackgroundcolors.xml 我管理背景,在 filtersbuttoncolors.xml 我管理文本颜色。在两个 xml 文件中,我管理状态(按下、选中、默认)
原文由 Maelig 发布,翻译遵循 CC BY-SA 4.0 许可协议
这是一个可绘制的示例,默认情况下为白色,按下时为黑色: