查看原文
其他

未勾选用户协议、隐私政策实现抖动效果

推荐关注↓

产品看到别家的app,未勾选协议的时候,会给用户一个抖动效果的提示,感觉不错,然后看了看自家的app,不行,没有抖动,不能很明显表示,于是需求出来了,用户未勾选的时候,给个抖动效果。( 呵,都不能有点创新,当然不能说出来了,只能内心暗说,哈哈,给自己加了点戏,)正事来了,开始。。。干,就完了。

如果需要实现用户协议、隐私政策的代码,请看这篇文章:juejin.cn/post/698126…[1]

实现功能大概需要三个步骤:

一、 用什么实现;二、实现的步骤;三、运行效果

一、用什么实现

其实实现起来很简单,用补间动画就行了。

二、实现的步骤

这里说下实现补间动画的步骤:总共需要以下几个步骤

1.如果res目录下没有anim文件,就新建一个文件夹;

2.在anim文件夹下创建一个名字叫translate_checkbox_shake.xml的文件,抖动动画

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
 android:duration="300"
 android:fromXDelta="0"
 android:interpolator="@anim/cyc"
 android:toXDelta="30">
</translate>

再在anim下创建一个插值器,名字叫cyc,这样会有抖动效果

<?xml version="1.0" encoding="utf-8"?>
<cycleInterpolator xmlns:android="http://schemas.android.com/apk/res/android"
    android:cycles="2">
</cycleInterpolator>

3.在translate_checkbox_shake.xml里写上需要的动画属性;

android:duration="300"与android:cycles="2"联合表示在300毫秒内将动画执行2次,根据需求来设置就行了;

属性toXDelta和fromXDelta是横向效果,toYDela和fromYDelta是竖向,感兴趣的可以尝试下。、

4.在代码中使用 AnimationUtils.loadAnimation加载新创建的动画文件;

 val animation = AnimationUtils.loadAnimation(this, R.anim.translate_checkbox_shake)

5.在代码中使用View的startAnimation启动动画,完事

 binding.llShake.startAnimation(animation)

三、效果如下:

参考资料
[1]

https://juejin.cn/post/6981266890253402125: https://juejin.cn/post/6981266890253402125


转自:掘金 JasonYin

https://juejin.cn/post/6981998698330849287

- EOF -

推荐阅读  点击标题可跳转

1、已开源!Flutter 流畅度优化组件 Keframe

2、谷歌弃用 APK 格式!替代品 AAB 有何优势?

3、okhttp文件上传失败,居然是Android Studio背锅?太难了~


看完本文有收获?请分享给更多人

 推荐关注「安卓开发精选」,提升安卓开发技术

点赞和在看就是最大的支持❤️

: . Video Mini Program Like ,轻点两下取消赞 Wow ,轻点两下取消在看

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存