Android----------属性动画

来源:互联网 发布:大学生炒股知乎 编辑:程序博客网 时间:2024/06/07 11:22

注:属性动画主要用到的类是 ObjectAnimator  一般单个动画用到的方法主要是   .setDuration();     .start();

综合的要用到 AnimatorSet类  把各个效果结合在一起的方法:
animatorSet.play(rotate).with(alpha).after(translation);上代码:
public class MainActivity extends AppCompatActivity {    private TextView tv;    private Button start;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        tv=(TextView)findViewById(R.id.text_view);        start=(Button)findViewById(R.id.start);        start.setOnClickListener(new View.OnClickListener() {            @Override            public void onClick(View v) {              // tv.setBackgroundColor(Color.YELLOW);                //设置属性动画的颜色              //  ObjectAnimator  animation=ObjectAnimator.ofArgb(tv,"BackgroundColor",Color.RED,Color.GREEN,Color.BLUE);                //平移              //  ObjectAnimator  animation=ObjectAnimator.ofFloat(tv,"translationX",0,200);                //渐变               // ObjectAnimator  animation=ObjectAnimator.ofFloat(tv,"alpha",1.0f,0.0f);                //旋转              /*  ObjectAnimator  animation=ObjectAnimator.ofFloat(tv,"rotation",0,360);                animation.setDuration(5000);                animation.start();*/               //属性动画综合                //平移                ObjectAnimator translation=ObjectAnimator.ofFloat(tv,"translationX",0,200);                //渐变               ObjectAnimator alpha=ObjectAnimator.ofFloat(tv,"alpha",1.0f,0.0f,1.0f,0.0f);                //旋转                ObjectAnimator rotate=ObjectAnimator.ofFloat(tv,"rotation",0,360);                AnimatorSet animatorSet=new AnimatorSet();                animatorSet.setDuration(5000);                animatorSet.play(rotate).with(alpha).after(translation);                animatorSet.start();            }        });    }}



原创粉丝点击