首页 > 代码库 > Android攻城狮动画组合
Android攻城狮动画组合
组合动画 案例一(续播1): 两个动画A和B,先播放动画A,设置A的AnimationListener(会重写3个方法),当其中一个方法onAnimationEnd()触发,也就是当A播放完毕的时候,开始播放B。核心代码如下: Animation loadAnimation = AnimationUtils.loadAnimation( this, R.anim.translate ); image.startAnimation(loadAnimation); // 开启动画A Animation loadAnimation2 = AnimationUtils.loadAnimation( this, R.anim.rotate ); loadAnimation.setAnimationListener( new AnimationListener(){ // 继承三个方法,但只重写End方法 @Override public void onAnimationStart(Animation arg0){} @Override public void onAnimationRepeat(Animation arg0){} @Override public void onAnimationEnd(Animation arg0){image.startAnimation(loadAnimation2);}// 开启动画B });
案例二(续播2): 写一个动画集 AnimationSet,在其中定义动画A和B,为动画B设置startOffset,其值就是前一个动画播放所需的时间。这里所举的例子不采用监听器,而是在动画的配置文件中写好。如图,连续写上两个<alpha>动画,实现图片的由透明变为不透明,然后由不透明再变为透明的两个连续动画。代码: <alpha android:duration="3000" android:fromAlpha="0.2" android:toAlpha="1.0" /> <alpha android:duration="3000" android:fromAlpha="1.0" android:startOffset="3000" android:toAlpha="0.2" />
案例三(循环闪烁) 利用Animation的setRepeatCount、setRepeatMode来实现动画循环。 如图,采用代码实现: AlphaAnimation alphaAnimation = new Animation( 0.1f, 1.0f); alphaAnimation.setDuration(100); alphaAnimation.setRepeatCount(10); alphaAnimation.setRepeatMode((Animation.REVERSE); //倒序重复 image.startAnimation( alphaAnimation ); 如果想要正序重复,则将 REVERSE 改为 RESTART。
案例四(Activity切换动画):
就是指从一个Activity跳转到另一个Activity时的动画。
使用 overridePendingTransition方法。
传进的参数:第二个Activity进入时的动画,第一个Activity退出时的动画。(注意参数的顺序)
代码:
Intent intent = new Intent( MainActivity.this, MainActivity2.class);
startActivity(intent);
overridePendingTransition(R.ainm.zoom_in, R.anim.zoom_out);
其中,R.ainm.zoom_in 和 R.anim.zoom_out 是我们自定义的动画。
Android攻城狮动画组合
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。