android视图动画

来源:互联网 发布:消防工程师网络培训班 编辑:程序博客网 时间:2024/05/20 09:45

android中Animation框架定义了透明度,旋转,缩放,位移几种常见的动画。

视图动画使用简单,效果丰富,它提供了AlphaAnimation、RotateAnimation、TranslateAnimation、ScaleAnimation四种动画方式,它提供了AnimationSet动画集合,混合使用多种动画。

接下来列举几个事例:

透明度动画:

AlphaAnimation aa = new AlphaAnimation(0, 1);aa.setDuration(1000);//设置时间view.startAnimation(aa);
旋转动画:

RotateAnimation ra = new RotateAnimation(0, 360, RotateAnimation.RELATIVE_TO_SELF, 0.5f, RotateAnimation.RELATIVE_TO_SELF, 0.5f);ra.setDuration(1000);view.startAnimation(ra);
位移动画:

TranslateAnimation ta = new TranslateAnimation(0, 200, 0, 300);ta.setDuration(1000);view.startAnimation(ta);
缩放动画:

ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1,ScaleAnimation.RELATIVE_TO_SELF, 0.5f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f);sa.setDuration(1000);view.startAnimation(sa);
动画集合:

AnimationSet as = new AnimationSet(true);as.setDuration(1000);ScaleAnimation sa = new ScaleAnimation(0, 1, 0, 1, ScaleAnimation.RELATIVE_TO_SELF, 0.5f, ScaleAnimation.RELATIVE_TO_SELF, 0.5f);sa.setDuration(1000);as.addAnimation(sa);AlphaAnimation aa = new AlphaAnimation(0, 1);aa.setDuration(1000);as.addAnimation(aa);view.startAnimation(as);
动画监听器:

as.setAnimationListener(new Animation.AnimationListener() {    @Override    public void onAnimationStart(Animation animation) {            }    @Override    public void onAnimationEnd(Animation animation) {    }    @Override    public void onAnimationRepeat(Animation animation) {    }});

通过这个监听器可以获取到动画的开始、结束和重复事件。

animation.setFillAfter(true);动画结束后保持当时的状态

0 0
原创粉丝点击