呼吸灯效果动画
来源:互联网 发布:软件应用的英文 编辑:程序博客网 时间:2024/05/17 00:07
最近做项目,产品设计稿上说要做一个一闪一闪的效果,那简单啊,开个定时器显示不显示,一分钟搞定,但是到演示时,又说我要的不是这个效果(可能是我想的简单了)难道这不是一闪一闪么,亮瞎眼了,然后他就从ipad上找了个效果给我看,尼玛,这是一闪一闪么,这是呼吸灯效果。就上网搜了下,根据自己使用情况写了这个工具类。
主要使用了ObjectAnimator 动画类通过对默认view大小的改变实现呼吸灯效果,代码很简单,只要传入一个view就可以了。
public class AnimationUtils { private final int BREATH_INTERVAL_TIME = 2000; //设置呼吸灯时间间隔 boolean isStopAnimation = false; ObjectAnimator anim1; ObjectAnimator anim2; ObjectAnimator anim3; ObjectAnimator anim4; AnimatorSet animSet; private boolean isUp = true; public AnimationUtils() { isStopAnimation = false; } /** * 停止动画 */ public void stopAnimation() { isStopAnimation = true; if (animSet != null) { animSet.cancel(); animSet = null; } } /** * 开始动画 * * @param view */ public void startAnimation(final View view) { if (animSet == null) { isStopAnimation = false; startPlay(view, false); } } private void setAnimOut(final View view) { anim1 = ObjectAnimator.ofFloat(view, "scaleX", 0.9f, 1.2f); anim2 = ObjectAnimator.ofFloat(view, "scaleY", 0.9f, 1.2f); } private void setAnimIn(final View view) { anim3 = ObjectAnimator.ofFloat(view, "scaleX", 1.2f, 0.9f); anim4 = ObjectAnimator.ofFloat(view, "scaleY", 1.2f, 0.9f); } private void startPlay(final View view, boolean isPoll) { if (isStopAnimation) { return; } animSet = new AnimatorSet(); setAnimOut(view); setAnimIn(view); animSet.setDuration(BREATH_INTERVAL_TIME); animSet.setInterpolator(new LinearInterpolator()); if (isUp) { animSet.playTogether(anim1, anim2); isUp = false; } else { animSet.playTogether(anim3, anim4); isUp = true; } animSet.start(); animSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animator) { } @Override public void onAnimationEnd(Animator animator) { startAnimation(view, true); } @Override public void onAnimationCancel(Animator animator) { } @Override public void onAnimationRepeat(Animator animator) { } }); } private void startAnimation(final View view, boolean isPoll) { startPlay(view, isPoll); }}
阅读全文
0 0
- 呼吸灯效果动画
- 呼吸灯 效果
- 呼吸灯效果
- 【Android控件】呼吸效果的动画
- android 自定义动画 圆呼吸效果 ValueAnimator
- Android 按钮呼吸灯效果
- 按钮添加呼吸灯效果
- 通过ValueAnimator实现呼吸灯效果
- ugui文字颜色的呼吸灯效果
- Android呼吸灯效果两种实现
- 安卓 呼吸灯效果--代码实现
- iOS呼吸动画
- 呼吸灯
- 呼吸灯
- 呼吸灯
- 呼吸灯
- 使用Canvas对应用图标的角标做缩放动画,具有呼吸效果
- 一个网页控件的呼吸灯效果实例 分享
- 2.1 注解主键生成策略(Generated identifier values)
- linux服务器Tomcat启动速度慢的优化方法
- Closest Distance LightOJ
- Error:Execution failed for task ':app:mergeDebugResources'. > Crunching Cruncher bg_btn.9.png
- bzoj 1053 反素数 HAOI2007
- 呼吸灯效果动画
- MAVEN发布固定版本(不需要更改pom更新依赖的方法) -- 自动更新SNAPSHOT
- P2577 [ZJOI2005]午餐
- 有效处理 Java 异常三原则
- 测试
- 【数据结构】[NOIP2013]火柴排队
- POJ2891 Strange Way to Express Integers
- P2592 [ZJOI2008]生日聚会
- <C++> const总结