材料设计:在Android中为两种颜色着色两个按钮

时间:2015-01-13 18:17:05

标签: android button material-design tint

我已经四处寻找处理android 5.0中按钮背景颜色的正确方法,我唯一能找到的解决方案是在值-21 / styles.xml中定义Button的样式:

<item name="android:colorButtonNormal">#2196f3</item>

这是将按钮着色的唯一方法,同时保留其设计和涟漪效果吗? 如果是的话,这意味着我必须为每个具有不同颜色的Button定义一个自定义主题,真的???

N.B:我的问题与向后兼容性和AppCompat无关,已经讨论了很多。

2 个答案:

答案 0 :(得分:0)

您可以使用色调选项以这种方式更改着色,而不是为每个按钮创建单独的主题,您只需将每种着色都设置为不同的颜色。见这里:Material Design Drawables

答案 1 :(得分:0)

是的,您必须为每种颜色定义一个单独的主题colorButtonNormal。您可以将主题设置为Button,如下所示:

<style name="ColorButonButton" parent="Theme.AppCompat.Light">  
    <item name="colorButtonNormal">@color/newColor</item>
</style>

<Button  
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="Text"
    android:theme="@style/ColorButonButton"/>