当前位置: 代码迷 >> 综合 >> Android--MaterialDesign动画之触摸反馈(Touch feedback)
  详细解决方案

Android--MaterialDesign动画之触摸反馈(Touch feedback)

热度:100   发布时间:2023-09-14 06:38:25.0
5.0引入了很多动画效果,是谷歌提供的自带的效果,其中触摸反馈就是一种,简而言之就是点击水波纹效果,Button就默认带有水波纹效果
Android--MaterialDesign动画之触摸反馈(Touch feedback)
button点击效果.gif
之前也介绍了如何改变水波纹颜色https://www.jianshu.com/p/1c786f4ee0a7
如果想要在其他控件,如TextView上有触摸反馈可以将background属性设置成以下值

1.android:background="?attr/selectableItemBackground"--和Button一样的效果(扩散时有边界,边界就是View的宽高)
2.android:background="?attr/selectableItemBackgroundBorderless"--扩散不含边界

两种值的效果如下:
Android--MaterialDesign动画之触摸反馈(Touch feedback)
水波纹效果.gif
我们还可以改变水波纹的形状,需要在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>
效果如下:
Android--MaterialDesign动画之触摸反馈(Touch feedback)
自定义drawable的水波纹.gif
还可以给xml中的item属性设置一个值为@android:id/mask的id,达成点击的时候才显示这个drawable
Android--MaterialDesign动画之触摸反馈(Touch feedback)
9d1bafe99c518eb19004f9649de42006.gif
  相关解决方案