我使用的是Android v21支持库。
我已经创建了一个自定义背景色的按钮。当我使用背景色时,材质设计效果如波纹,显示消失了(除了点击时的抬高)。
<Button
style="?android:attr/buttonStyleSmall"
android:background="?attr/colorPrimary"
android:textColor="@color/white"
android:textAllCaps="true"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Button1"
/>
下面是一个正常的按钮,效果很好。
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textAllCaps="true"
android:text="Button1"
/>
我今天在使用v22库时遇到了这个问题。
假设您正在使用样式,您可以设置colorButtonNormal属性,按钮将默认使用该颜色。
<style name="AppTheme" parent="BaseTheme">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColorDark</item>
<item name="colorAccent">@color/accentColor</item>
<item name="colorButtonNormal">@color/primaryColor</item>
</style>
除此之外,你还可以为按钮创建一个样式,然后使用每个按钮,如果你需要各种颜色(还没有测试,只是猜测)。
记住在v21样式的项目名称之前添加android:。
我来这篇文章寻找一种方法,有一个背景颜色的我的ListView项目,但保持波纹。
我简单地添加了我的颜色作为背景,selectableItemBackground作为前景:
<style name="my_list_item">
<item name="android:background">@color/white</item>
<item name="android:foreground">?attr/selectableItemBackground</item>
<item name="android:layout_height">@dimen/my_list_item_height</item>
</style>
它就像一个魔法。我想同样的技巧也可以用在按钮上。祝你好运。