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(); } }
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(); } }