扩展material.light主题,并设置如下颜色:
<resources>
<!-- inherit from the material theme -->
<style name="MiTemaMaterial" parent="android:Theme.Material.Light">
<!-- Main theme colors -->
<!-- your app branding color for the app bar -->
<item name="android:colorPrimary">#4DB6AC</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:colorPrimaryDark">#009688</item>
<!-- theme UI controls like checkboxes and text fields -->
<item name="android:colorAccent">#FFAB40</item>
</style> </resources>
我得到一个类似设备的导航栏,但按钮之类的视图不采用配色方案并显示为默认值。我想知道这是否是标准行为,因为在像http://www.google.com/design/spec/components/buttons.html这样的设计指南中,似乎butttons使用了强调色。
我是否必须手动设置它们的样式?
答案 0 :(得分:3)
是的,您需要自己设置按钮主题。要提供一个采用原色的按钮,请在v21目录中使用drawable作为背景,例如:
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?attr/colorControlHighlight">
<item android:drawable="?attr/colorPrimary"/>
</ripple>
这将确保您的背景颜色为?attr/colorPrimary
并使用默认的?attr/colorControlHighlight
(如果您愿意,也可以在主题中设置)使用默认的波纹动画。
注意:您必须为小于v21:
创建自定义选择器<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@color/primaryPressed" android:state_pressed="true"/>
<item android:drawable="@color/primaryFocused" android:state_focused="true"/>
<item android:drawable="@color/primary"/>
</selector>
假设你有一些颜色,你喜欢默认,按下和聚焦状态。就个人而言,我通过选择中途截取了一个波纹的截图,并将主要/聚焦状态拉出来。