Android objectAnimator的使用

package com.example.administrator.myapplication;

import android.animation.ObjectAnimator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.view.animation.Animation;
import android.view.animation.TranslateAnimation;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    Button bt, bt2;
    int i = 1;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt = (Button) findViewById(R.id.button);
        bt2 = (Button) findViewById(R.id.button2);

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

                switch (i) {
                    case 1:
                        i++;
                        qingyi();
                        break;
                    case 2:
                        rotaton();
                        i++;
                        break;
                    case 3:
                        ssoufa();
                        i++;
                        break;
                    case 4:
                        touming();
                        i = 1;
                        break;
                }

            }
        });
    }

    //位移动画
    public void tran() {
        TranslateAnimation translateAnimation = new TranslateAnimation(Animation.ABSOLUTE, 300, Animation.RELATIVE_TO_PARENT, 400);
        translateAnimation.setFillAfter(true);
        translateAnimation.setDuration(2000);
        bt2.startAnimation(translateAnimation);

    }

    //旋转动画
    public void rotaton() {
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(bt2, "rotation", 0, 180);
        objectAnimator.setDuration(1000);
        objectAnimator.start();
    }

    //缩放动画
    public void ssoufa() {
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(bt2, "scaleX", 1.0f, 1.5f);
        objectAnimator.setDuration(1000).start();
    }

    //透明动画
    public void touming() {
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(bt2, "alpha", 1.0f, 0.3f);
        objectAnimator.setDuration(1000).start();
    }

    //平移动画
    public void qingyi() {
        ObjectAnimator objectAnimator = ObjectAnimator.ofFloat(bt2, "translationX", 0f, 100f);
        objectAnimator.setDuration(1000).start();
    }
}

猜你喜欢

转载自blog.csdn.net/a1033479126/article/details/50983153