Android开发,对于animation怎么可以多个同时运行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发,对于animation怎么可以多个同时运行相关的知识,希望对你有一定的参考价值。
参考技术A 1、你不是设置动画的执行时间么 // 设置动画执行的时间(单位:毫秒) alphaAnimation.setDuration(3000);3s后动画就结束了,可以根据这个时间判断,动画结束后,设置invisible2、多个图片可以用framlayout试一下,目前我也没想到好的思路 查看原帖>>Android动画Animator开发问题
在开发Android的Animator时遇到如下问题:
1. 关于Animator的循环播放:
在Animator动画中有循环的设置方法setRepeatCount(ValueAnimator.INFINITE) , 而对于AnimatorSet需要实现循环播放,实现方法如下代码:
private AtomicBoolean isStart = new AtomicBoolean(false);
animatorSet.addListener(new Animator.AnimatorListener() { @Override public void onAnimationStart(Animator animation) { } @Override public void onAnimationEnd(Animator animation) { if (isStart.get()) { animation.start(); } } @Override public void onAnimationCancel(Animator animation) { } @Override public void onAnimationRepeat(Animator animation) { } }); animatorSet.start(); public void stopRecognizerViewAnim() { isStart.set(false); }
2 . 关于View的缩放:
对于View的缩放一般使用scale。如果缩放的是GroupView,则内部的组件也随着缩放。如果不希望缩放内部的view,而仅仅是宽度或高度的缩放, 实现方法如下代码:
mAnimatorSet = new AnimatorSet(); ValueAnimator height = ValueAnimator.ofObject(new WidthEvaluator(), mCurrWidth, mPreWidth); height.setDuration(DURATION); mAnimatorSet.playTogether(height); mAnimatorSet.addListener(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) { } }); mAnimatorSet.start();
private class WidthEvaluator extends IntEvaluator { @Override public Integer evaluate(float fraction, Integer startValue, Integer endValue) { int value = super.evaluate(fraction, startValue, endValue); ViewGroup.LayoutParams layoutParams = getLayoutParams(); layoutParams.width = value; setLayoutParams(layoutParams); return value; } }
3. 如果同一个AnimatorSet中多个Animator需要设置before() 或者after() ,不能再同一个AnimatorSet中设置多个before() 或者after()。例如: play(AAnimator).before(BAnimator).before(CAnimator).. 是错误的。 这个是我个人的理解,如果不正确,请留言告知。
本文出自 “Android - 静心之作” 博客,请务必保留此出处http://6246534.blog.51cto.com/6236534/1860430
以上是关于Android开发,对于animation怎么可以多个同时运行的主要内容,如果未能解决你的问题,请参考以下文章
android studio怎么找不到com,nineoldandroids,animation,animatorset