1. 程式人生 > >屬性動畫(旋轉、平移、縮放、透明、綜合)

屬性動畫(旋轉、平移、縮放、透明、綜合)

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.btn_rotate://360度旋轉
            ObjectAnimator rotate = ObjectAnimator.ofFloat(img, "rotation", 0f, 360f);
            rotate.setDuration(2500);//時間
            rotate.setRepeatCount(3);//次數+1
            rotate.start();//開始

            break;
        case R.id.btn_translation://平移
            //將TextView先向右,然後再移動回來   -500f是向左移動
           /* float dis = img.getTranslationX();
            ObjectAnimator translation = ObjectAnimator.ofFloat(img, "translationX",  dis,500f,dis);*/
            //將img先向右移動  不回來
            ObjectAnimator translation = ObjectAnimator.ofFloat(img, "translationX",  500f);
            translation.setDuration(2500);
            translation.start();
            break;
        case R.id.btn_zoom://縮放
            ObjectAnimator zoom = ObjectAnimator.ofFloat(img, "scaleX", 1f, 3f, 1f);
            zoom.setDuration(2500);
            zoom.start();

            break;
        case R.id.btn_transparent://透明
            ObjectAnimator transparent = ObjectAnimator.ofFloat(img, "alpha", 1f, 0f, 1f);
            transparent.setDuration(2500);
            transparent.start();
            break;
        case R.id.btn_comprehensive://綜合
            ObjectAnimator move = ObjectAnimator.ofFloat(img, "translationX",  500f);
            ObjectAnimator rotate1 = ObjectAnimator.ofFloat(img, "rotation", 0f, 360f);
            ObjectAnimator alpha = ObjectAnimator.ofFloat(img, "alpha", 1f, 0f, 1f);

            AnimatorSet animatorSet = new AnimatorSet();
            animatorSet.playSequentially(rotate1,move,alpha);
            animatorSet.setDuration(5000);
            animatorSet.start();
            break;
    }
}

佈局: