我已经四处寻找处理android 5.0中按钮背景颜色的正确方法,我唯一能找到的解决方案是在值-21 / styles.xml中定义Button的样式:
<item name="android:colorButtonNormal">#2196f3</item>
这是将按钮着色的唯一方法,同时保留其设计和涟漪效果吗? 如果是的话,这意味着我必须为每个具有不同颜色的Button定义一个自定义主题,真的???
N.B:我的问题与向后兼容性和AppCompat无关,已经讨论了很多。
答案 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"/>