属性动画的基本实现

基本属性动画的实现

包括透明度的改变,缩放,移动和旋转四大基本功能




   /**
         * 透明度渐变的动画
         * 
         * @param view
         */
        public void alpha(View view) {
            // iv.setAlpha(alpha);
            // iv.getAlpha();
            ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "alpha", new float[] {
                    0.0f, 0.2f, 0.4f, 0.6f, 0.8f, 1.0f });
            oa.setDuration(3000);
            oa.setRepeatCount(ObjectAnimator.INFINITE);
            oa.setRepeatMode(ObjectAnimator.REVERSE);
            oa.start();
        }


        /**
         * 平移动画
         * 
         * @param view
         */
        public void trans(View view) {
            // iv.setTranslationX(translationX);
            ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX",
                    new float[] { 10f, 20f, 30f, 40f, 60f, 80f });
            oa.setDuration(3000);
            oa.setRepeatCount(ObjectAnimator.INFINITE);
            oa.setRepeatMode(ObjectAnimator.REVERSE);
            oa.start();
        }


        /**
         * 缩放动画
         */
        public void scale(View view) {
            // iv.setScaleX(scaleX)
            ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "scaleX", new float[] {
                    1f, 2f, 3f, 4f, 5f, 6f });
            oa.setDuration(3000);
            oa.setRepeatCount(ObjectAnimator.INFINITE);
            oa.setRepeatMode(ObjectAnimator.REVERSE);
            oa.start();
        }


        /**
         * 旋转动画
         */
        public void rotate(View view) {
            // iv.setRotation(rotation);
            // iv.getRotation()
            // iv.setRotationX(rotationX);
            ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "rotationY",
                    new float[] { 90f, 180f, 270f, 360f });
            oa.setDuration(3000);
            oa.setRepeatCount(ObjectAnimator.INFINITE);
            oa.setRepeatMode(ObjectAnimator.REVERSE);
            oa.start();
        }


        /**
         * 动画合集 集合
         */
        public void set(View view) {
            AnimatorSet set = new AnimatorSet();
            ObjectAnimator oa = ObjectAnimator.ofFloat(iv, "translationX",
                    new float[] { 10f, 20f, 30f, 40f, 60f, 80f });
            oa.setDuration(3000);
            ObjectAnimator oa2 = ObjectAnimator.ofFloat(iv, "translationY",
                    new float[] { -10f, -20f, -30f, -40f, -60f, -80f });
            oa2.setDuration(3000);
            set.playTogether(oa, oa2);
            set.start();
        }

猜你喜欢

转载自blog.csdn.net/Panda_Kill/article/details/52905256