Esempio n. 1
0
 public void callBackNewTabAnim() {
   // mApplication.setmThumbnailPosition(mBuilder.mCurrentConfigPosition);
   int endPosition = mBuilder.getList().size() - 1;
   Browser application = (Browser) mActivity.getApplication();
   int startPosition = application.getmThumbnailPosition();
   if (startPosition < 0 || startPosition >= mBuilder.getList().size()) startPosition = 0;
   AnimatorSet moveAnim = null;
   int width = getWidth();
   int animTime = getResources().getInteger(R.integer.config_shortAnimTime);
   if (endPosition == startPosition) {
     mUi.openNewTab();
   } else {
     ObjectAnimator oTran;
     ArrayList<Animator> animList = new ArrayList<Animator>();
     for (int i = startPosition; i <= endPosition; i++) {
       if (i != endPosition) {
         oTran =
             ObjectAnimator.ofFloat(
                 mBuilder.getList().get(i), "translationX", 0, -(i - startPosition + 1) * width);
         oTran.setStartDelay(DELAYTIME * (i - startPosition));
         oTran.setDuration(animTime * (i - startPosition + 1));
       } else {
         oTran =
             ObjectAnimator.ofFloat(
                 mBuilder.getList().get(i),
                 "translationX",
                 0,
                 -(endPosition - startPosition) * width);
         oTran.setStartDelay(DELAYTIME * (endPosition - startPosition));
         oTran.setDuration(animTime * (endPosition - startPosition));
       }
       animList.add(oTran);
     }
     moveAnim = new AnimatorSet();
     moveAnim.playTogether(animList);
     moveAnim.addListener(
         new AnimatorListenerAdapter() {
           @Override
           public void onAnimationEnd(Animator animation) {
             mUi.openNewTab();
             reverse(animation, 0);
             super.onAnimationEnd(animation);
           }
         });
     moveAnim.start();
   }
 }
Esempio n. 2
0
  public void callBackFullScreenAnim() {
    // mApplication.setmThumbnailPosition(mBuilder.mCurrentConfigPosition);
    int endPosition = mUiController.getTabControl().getCurrentPosition() / 4;
    Browser application = (Browser) mActivity.getApplication();
    int startPosition = application.getmThumbnailPosition();
    AnimatorSet moveAnim = null;
    int animTime = getResources().getInteger(R.integer.config_shortAnimTime);
    if (endPosition >= mBuilder.getList().size()) endPosition = mBuilder.getList().size() - 1;
    if (endPosition < 0) endPosition = 0;
    int width = getWidth();
    if (endPosition == startPosition) {
      mUi.hideNavScreen(mUiController.getTabControl().getTabPosition(mUi.getActiveTab()), true);
    } else if (endPosition > startPosition) {
      ObjectAnimator oTran;
      ArrayList<Animator> animList = new ArrayList<Animator>();
      for (int i = startPosition; i <= endPosition; i++) {
        if (i != endPosition) {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i), "translationX", 0, -(i - startPosition + 1) * width);
          oTran.setStartDelay(DELAYTIME * (i - startPosition));
          oTran.setDuration(animTime * (i - startPosition + 1));
        } else {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i),
                  "translationX",
                  0,
                  -(endPosition - startPosition) * width);
          oTran.setStartDelay(DELAYTIME * (endPosition - startPosition));
          oTran.setDuration(animTime * (endPosition - startPosition));
        }
        animList.add(oTran);
      }
      moveAnim = new AnimatorSet();
      moveAnim.playTogether(animList);
    } else {
      ObjectAnimator oTran;
      ArrayList<Animator> animList = new ArrayList<Animator>();
      for (int i = startPosition; i >= endPosition; i--) {
        if (i != endPosition) {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i), "translationX", 0, (startPosition - i + 1) * width);
          oTran.setStartDelay(DELAYTIME * (startPosition - i));
          oTran.setDuration(animTime * (startPosition - i + 1));
        } else {
          oTran =
              ObjectAnimator.ofFloat(
                  mBuilder.getList().get(i),
                  "translationX",
                  0,
                  (startPosition - endPosition) * width);
          oTran.setStartDelay(DELAYTIME * (startPosition - endPosition));
          oTran.setDuration(animTime * (startPosition - endPosition));
        }
        animList.add(oTran);
      }
      moveAnim = new AnimatorSet();
      moveAnim.playTogether(animList);
    }
    if (moveAnim != null) {
      moveAnim.addListener(
          new AnimatorListenerAdapter() {

            @Override
            public void onAnimationEnd(Animator animation) {
              // TODO Auto-generated method stub
              mUi.hideNavScreen(
                  mUiController.getTabControl().getTabPosition(mUi.getActiveTab()),
                  true,
                  animation);
              super.onAnimationEnd(animation);
            }
          });
      moveAnim.start();
    }
  }