记一次小白之路使用AndroidViewAnimations 安卓抖动动画

首先我要实现的是类似于这种动画


参考过得文章:https://www.jianshu.com/p/7d262563edda
我是在这篇文章的评论中看到两位大佬的对话中,看到了AndroidViewAnimations。
Github地址:https://github.com/daimajia/AndroidViewAnimations
1:添加依赖
在项目的gradle中

dependencies { compile 'com.android.support:support-compat:X.X.X' compile 'com.daimajia.easing:library:2.0@aar' compile 'com.daimajia.androidanimations:library:2.3@aar' }

这里的版本号用你
com.android.support:appcompat 使用的版本即可。

注:1.在这可能会遇到 Could not resolve com.android.support:appcompat-v7 的问题,你去settings->Build,Execution,Deployment->Gradle,取消“offline work”的勾选,让studio去下载即可。注意后期最好在改回来,这可能会导致运行项目时gradle build running 很久.
2.有些最新android studio可能会强制使用implementation,这里你用 compile Sync Now下载完后把compile改为implementation即可。
可能有些由于网络原因的你下载会很困难,这个请自行百度即可。

2:使用
YoYo.with(想要使用的动画mode) .duration(持续时间) .repeat(持续次数) .pivot(YoYo.CENTER_PIVOT, YoYo.CENTER_PIVOT) .interpolate(new AccelerateDecelerateInterpolator()) .withListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) {}@Override public void onAnimationEnd(Animator animation) { }@Override public void onAnimationCancel(Animator animation) {}@Override public void onAnimationRepeat(Animator animation) {} }) .playOn(想要使用动画的按钮view);


注:如果想要添加动画 在中间抖动的话只设置.pivot(YoYo.CENTER_PIVOT, YoYo.CENTER_PIVOT) 是不行的,还要设置
@Override public void onWindowFocusChanged(boolean hasFocus) { if (hasFocus) { rope = YoYo.with(Techniques.FadeIn).duration(时间).playOn(控件); // after start,just click mTarget view, rope is not init }

ps:部分手机可能出现抖动后留有屏幕残留情况,可能是屏幕渲染问题 使用invalidate()可以解决
【记一次小白之路使用AndroidViewAnimations 安卓抖动动画】

    推荐阅读