Ripple(Android5.0 水波纹点击效果)

Ripple(Android5.0 水波纹点击效果)

实现这种水波纹效果十分简单

布局文件

 <Button
        android:layout_marginTop="16dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:text="@string/login"
        android:textColor="@color/white"
        android:background="@xml/ripple"
        />

其中可以设置background属性为

?android:attr/selectableItemBackground (有界波纹)

?android:attr/selectableItemBackgroundBorderless (无界波纹)

或者将background属性设置为自己创建的drawable文件

我创建的ripple.xml

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/colorPrimaryDark">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#8A8A8A" />
            <corners android:radius="1dp" />
        </shape>
    </item>
</ripple>

其中指定波纹也就是<ripple>标签的颜色

<item>标签中就是设置背景色和圆角啥的

然后就可以啦