Android登录页面,未勾选用户协议、隐私政策出现抖动效果

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

如果需要实现用户协议、隐私政策的代码,请看这篇文章:https://blog.csdn.net/qq_40533422/article/details/108662721?spm=1001.2014.3001.5501

一、用什么实现

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

二、实现步骤

       这里说下实现补间动画的步骤:

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

      2、在anim文件夹下创建一个animation.xml动画文件;

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

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

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

三、啥也不说,直接上代码

       这个是布局代码,很简单,这个LinearLayout包裹着勾选按钮和协议文件描述

  在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>

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

在代码中使用

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

然后运行,大功告成,效果如下:转成gif文件,看着效果不太好,不过能看清抖动效果

如果此篇文章帮助到了您,请您点个关注与赞,关注公众号,谢谢

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值