zoukankan      html  css  js  c++  java
  • ObjectAnimator ValueAnimator AnimatorSet基础

    package com.xbing.com.viewdemo;

    import android.animation.AnimatorSet;
    import android.animation.ObjectAnimator;
    import android.animation.ValueAnimator;
    import android.app.Activity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.RadioButton;
    import android.widget.TextView;

    /**
    * Created by zhaobing on 2016/6/21.
    */
    public class AnimatorActivity extends Activity {

    TextView mView;
    RadioButton mSelect;

    public int index = 0;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.animator_activity);
    mView = (TextView) findViewById(R.id.tv_animator);
    mSelect = (RadioButton)findViewById(R.id.rb_select);

    findViewById(R.id.btn_move).setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
    ObjectAnimator animator = new ObjectAnimator();
    switch (index%7){
    case 0:
                  //透明度渐变
    animator = ObjectAnimator.ofFloat(mView,"alpha",1f,0f,1f);
    break;
    case 1://横向平移
    animator = ObjectAnimator.ofFloat(mView,"translationX",0,100,0);
    break;
    case 2://旋转
    animator = ObjectAnimator.ofFloat(mView,"rotation",0,180,0);
    break;
    case 3://依Y轴旋转
    animator = ObjectAnimator.ofFloat(mView,"rotationY",0,180,0);
    break;
    case 4://竖向平移
    animator = ObjectAnimator.ofFloat(mView,"translationY",0,100,0);
    break;
    case 5://竖向缩放
    animator = ObjectAnimator.ofFloat(mView,"scaleY",0,3,1);
    break;
    case 6://几个动画合并
    animator = ObjectAnimator.ofFloat(mView,"alpha",1f,0f,1f);
    ValueAnimator animator1 = ObjectAnimator.ofFloat(mView,"rotation",0,180,0);
    ObjectAnimator animator2 = ObjectAnimator.ofFloat(mView,"scaleY",0,3,1);
    ObjectAnimator animator3 = ObjectAnimator.ofFloat(mView,"scaleX",0,3,1);

                  //几个动画合并播放
    AnimatorSet animSet = new AnimatorSet();
    animSet.play(animator1).with(animator).with(animator2).with(animator3);
    animSet.setDuration(2000);
    animSet.start();
    break;

    }
    if(index%7<6){
    animator.setDuration(1000);
    animator.start();
    }

    if(!mSelect.isChecked()){
    index++;
    }


    }
    });
    }
    }
  • 相关阅读:
    线程 day40
    进程同步(multiprocess.Lock、multiprocess.Semaphore、multiprocess.Event) day38
    进程 day36
    操作系统的发展史 day36
    git项目.gitignore文件不生效解决办法
    Java8 Lambda表达式和流操作如何让你的代码变慢5倍
    @GetMapping和@PostMapping接收参数的格式
    Non-parseable POM C:Usersadmin.m2 epositoryorgspringframework问题解决方案
    hessian
    eclipse 中PlantUML的安装和使用
  • 原文地址:https://www.cnblogs.com/x-bing/p/5602906.html
Copyright © 2011-2022 走看看