棒棒糖视图的涟漪效应

时间:2014-11-21 21:00:51

标签: android material-design

我一直在为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"
   />

4 个答案:

答案 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"
    ...
 />

基于this tutorialthe official docs

答案 2 :(得分:7)

?attr/selectableItemBackgroundBorderless也可以用于圆形连锁效果。

答案 3 :(得分:1)

尝试此属性

android:background="?attr/selectableItemBackground"

这是在视图/布局中显示涟漪效果的最简单方法。