我一直在为Lollipop开发应用程序(API 21)。
当我将Button
颜色更改为某种颜色时,涟漪效果不起作用。
我找到了一些第三方库用于涟漪效应,但我想用标准API来做这件事。
此answer也没有帮助。
XML:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Button"
android:id="@+id/button"
android:layout_below="@+id/textView"
android:background="@android:color/holo_blue_bright"
android:layout_alignParentStart="true"
android:layout_marginTop="76dp"
/>
答案 0 :(得分:31)
您必须将按钮的背景设置为RippleDrawable,您可以使用XML定义它。 (我将其命名为holo_blue_ripple.xml
)
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/white"> <!-- ripple color -->
<item android:drawable="@android:color/holo_blue_bright"/> <!-- normal color -->
</ripple>
然后用android:background="@drawable/holo_blue_ripple"
引用它。
答案 1 :(得分:27)
试试这个:
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="?attr/selectableItemBackground"
...
/>
答案 2 :(得分:7)
?attr/selectableItemBackgroundBorderless
也可以用于圆形连锁效果。
答案 3 :(得分:1)
尝试此属性
android:background="?attr/selectableItemBackground"
这是在视图/布局中显示涟漪效果的最简单方法。