如何在Android上更改按钮颜色?
我是一名设计师,即将对Android上的标准组件进行一些轻微的重新设计。现在我想弄清楚按钮状态是如何工作的。根据材料设计指南,标准按钮、浮动动作按钮、凸起和扁平按钮有四种状态:正常、聚焦、按下和禁用如何在Android上更改按钮颜色?,android,material-design,Android,Material Design,我是一名设计师,即将对Android上的标准组件进行一些轻微的重新设计。现在我想弄清楚按钮状态是如何工作的。根据材料设计指南,标准按钮、浮动动作按钮、凸起和扁平按钮有四种状态:正常、聚焦、按下和禁用 如果我只为正常状态指定一种颜色,系统会根据该值为其他状态选择颜色吗?其他交互元素(如下拉列表)也是如此吗 我可以(轻松地)为其他州应用自定义颜色吗 您可以使用选择器自定义按钮状态颜色 假设以下是可绘制目录中的button_state_color.xml文件 <?xml version="1.
- 如果我只为正常状态指定一种颜色,系统会根据该值为其他状态选择颜色吗?其他交互元素(如下拉列表)也是如此吗李>
- 我可以(轻松地)为其他州应用自定义颜色吗李>
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:color="hex_color"
android:state_pressed=["true" | "false"]
android:state_focused=["true" | "false"]
android:state_selected=["true" | "false"]
android:state_checkable=["true" | "false"]
android:state_checked=["true" | "false"]
android:state_enabled=["true" | "false"]
android:state_window_focused=["true" | "false"] />
</selector>
像这样用在你的按钮上
<Button
...
android:background="@drawable/button_state_color.xml"
...
/>
如果您为正常状态提供颜色,则任何系统都不会自行选择颜色。 对于第二个问题,如果您想给出形状,则可以在drawable folder中创建@Surace指定的选择器,但如果您只希望根据状态更改颜色,则可以在中创建选择器 分辨率/颜色 目录
其余部分保持不变,正如您在drawable文件夹中创建的选择器中实现的一样。检查我是否正确理解了它–如果我想看到更改,我必须手动为每个状态添加颜色?系统没有为我提供任何建议,也没有为各州提供默认颜色?太好了。好啊所以,如果我不手动添加一个颜色,在一个凸起的按钮上按下的状态,没有任何变化?