5.0引入了很多动画效果,是谷歌提供的自带的效果,其中触摸反馈就是一种,简而言之就是点击水波纹效果,Button就默认带有水波纹效果

之前也介绍了如何改变水波纹颜色https://www.jianshu.com/p/1c786f4ee0a7
如果想要在其他控件,如TextView上有触摸反馈可以将background属性设置成以下值
1.android:background="?attr/selectableItemBackground"--和Button一样的效果(扩散时有边界,边界就是View的宽高)
2.android:background="?attr/selectableItemBackgroundBorderless"--扩散不含边界
两种值的效果如下:

我们还可以改变水波纹的形状,需要在drawable自定义水波纹效果的xml,这边用了默认的安卓机器人启动图标
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/colorPrimaryDark">
<item android:drawable="@drawable/ic_launcher" />
</ripple>
效果如下:

还可以给xml中的item属性设置一个值为@android:id/mask的id,达成点击的时候才显示这个drawable

网友评论