属性动画

来源:互联网 发布:如何查找淘宝买家信息 编辑:程序博客网 时间:2024/06/12 01:01
        ObjectAnimator anim = ObjectAnimator.ofFloat(view, "rotationX", 0.0f, 360.0f)                .setDuration(1000);        anim.start();        anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                float cVal = (Float) animation.getAnimatedValue();                view.setAlpha(cVal);                view.setScaleX(cVal);                view.setScaleY(cVal);            }        });

        PropertyValuesHolder alpha = PropertyValuesHolder.ofFloat("alpha", 1.0f, 0.0f, 1.0f);        PropertyValuesHolder scaleX = PropertyValuesHolder.ofFloat("scaleX", 1.0f, 0.0f, 1.0f);        PropertyValuesHolder scaleY = PropertyValuesHolder.ofFloat("scaleY", 1.0f, 0.0f, 1.0f);        ObjectAnimator.ofPropertyValuesHolder(view,alpha,scaleX,scaleY).setDuration(1000).start();

        view.setRotation();        view.setTranslationX();        view.setAlpha();

ValueAnimator anim = ValueAnimator.ofFloat(0.0f, 300.0f);        anim.setTarget(id_ball);        anim.setEvaluator(new TypeEvaluator<PointF>() {            @Override            public PointF evaluate(float fraction, PointF startValue, PointF endValue) {                PointF point = new PointF();                point.x = 200 * fraction * 3;                point.y = 0.5f * 200 * (fraction * 3) * (fraction * 3);                return point;            }        });        anim.setDuration(1000).start();        anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {            @Override            public void onAnimationUpdate(ValueAnimator animation) {                Log.i("LJH",animation.getAnimatedValue()+"");                id_ball.setTranslationX((Float) animation.getAnimatedValue());            }        });

ObjectAnimator anim = ObjectAnimator.ofFloat(mBlueBall, "alpha", 0.5f);                    anim.addListener(new AnimatorListener()          {                @Override              public void onAnimationStart(Animator animation)              {                  Log.e(TAG, "onAnimationStart");              }                @Override              public void onAnimationRepeat(Animator animation)              {                  // TODO Auto-generated method stub                  Log.e(TAG, "onAnimationRepeat");              }                @Override              public void onAnimationEnd(Animator animation)              {                  Log.e(TAG, "onAnimationEnd");                  ViewGroup parent = (ViewGroup) mBlueBall.getParent();                  if (parent != null)                      parent.removeView(mBlueBall);              }                @Override              public void onAnimationCancel(Animator animation)              {                  // TODO Auto-generated method stub                  Log.e(TAG, "onAnimationCancel");              }          });          anim.start();  



anim.addListener(new AnimatorListenerAdapter()  {      @Override      public void onAnimationEnd(Animator animation)      {          Log.e(TAG, "onAnimationEnd");          ViewGroup parent = (ViewGroup) mBlueBall.getParent();          if (parent != null)              parent.removeView(mBlueBall);      }  });  


float cx = mBlueBall.getX();            ObjectAnimator anim1 = ObjectAnimator.ofFloat(mBlueBall, "scaleX",                  1.0f, 2f);          ObjectAnimator anim2 = ObjectAnimator.ofFloat(mBlueBall, "scaleY",                  1.0f, 2f);          ObjectAnimator anim3 = ObjectAnimator.ofFloat(mBlueBall,                  "x",  cx ,  0f);          ObjectAnimator anim4 = ObjectAnimator.ofFloat(mBlueBall,                  "x", cx);                    /**          * anim1,anim2,anim3同时执行          * anim4接着执行          */          AnimatorSet animSet = new AnimatorSet();          animSet.play(anim1).with(anim2);          animSet.play(anim2).with(anim3);          animSet.play(anim4).after(anim3);          animSet.setDuration(1000);          animSet.start(); 

mTransition = new LayoutTransition();          mTransition.setAnimator(                  LayoutTransition.APPEARING,                  (mAppear.isChecked() ? mTransition                          .getAnimator(LayoutTransition.APPEARING) : null));          mTransition                  .setAnimator(                          LayoutTransition.CHANGE_APPEARING,                          (mChangeAppear.isChecked() ? mTransition                                  .getAnimator(LayoutTransition.CHANGE_APPEARING)                                  : null));          mTransition.setAnimator(                  LayoutTransition.DISAPPEARING,                  (mDisAppear.isChecked() ? mTransition                          .getAnimator(LayoutTransition.DISAPPEARING) : null));          mTransition.setAnimator(                  LayoutTransition.CHANGE_DISAPPEARING,                  (mChangeDisAppear.isChecked() ? mTransition                          .getAnimator(LayoutTransition.CHANGE_DISAPPEARING)                          : null));          mGridLayout.setLayoutTransition(mTransition);  



0 0
原创粉丝点击