android视图动画

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);动画结束后保持当时的状态

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值