Android属性动画——平移,旋转,渐变,缩放及属性动画的生命周期

操作如下:

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        l = (LinearLayout)findViewById(R.id.l);



         l.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {

                 //  平移
                 ObjectAnimator translationX = new ObjectAnimator().ofFloat(l,"translationX",0,600f);
                 ObjectAnimator translationY = new ObjectAnimator().ofFloat(l,"translationY",0,0);
                 AnimatorSet animatorSet = new AnimatorSet();  //组合动画
                 animatorSet.playTogether(translationX,translationY); //设置动画
                 animatorSet.setDuration(10000);  //设置动画时间
                 animatorSet.start(); //启


//                   // 旋转
//                 ObjectAnimator ra = ObjectAnimator.ofFloat(l,"rotation", 0f, 360f);
//                 ra.setDuration(3000);
//                 ra.start();


//                 // 缩放
//                 AnimatorSet animatorSetsuofang = new AnimatorSet();//组合动画
//                 ObjectAnimator scaleX = ObjectAnimator.ofFloat(l, "scaleX", 0, 1f);
//                 ObjectAnimator scaleY = ObjectAnimator.ofFloat(l, "scaleY", 0, 1f);
//                 animatorSetsuofang.setDuration(5000);
//                 animatorSetsuofang.setInterpolator(new DecelerateInterpolator());
//                 animatorSetsuofang.play(scaleX).with(scaleY);//两个动画同时开始

//                 // 渐变
//                 ObjectAnimator anim = ObjectAnimator.ofFloat(l, "alpha", 1f, 0.1f, 1f, 0.5f, 1f);
//                 anim.setDuration(10000);// 动画持续时间
//                 anim.start();


                  // 动画的监听事件
                 animatorSet.addListener(new Animator.AnimatorListener() {
                     @Override
                     public void onAnimationStart(Animator animation) {
                         Log.d("动画开始","");
                     }

                     @Override
                     public void onAnimationEnd(Animator animation) {
                         Log.d("动画结束,跳转","");
                     }

                     @Override
                     public void onAnimationCancel(Animator animation) {
                         Log.d("动画取消","");
                     }

                     @Override
                     public void onAnimationRepeat(Animator animation) {
                          Log.d("动画重复","");
                     }
                 });
             }
         });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值