实现这种水波纹效果十分简单
布局文件
<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>标签中就是设置背景色和圆角啥的