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(); } }
@Override public void onClick(View v) { if (!mBuilder.mIsShowing) { return; } if (mNewTab == v) { if (mUiController.getTabControl().canCreateNewTab()) { callBackNewTabAnim(); } else { boolean isShow = mUi.isShowMaxTabsDialog( new AlertDialog.OnClickListener() { public void onClick(DialogInterface d, int which) { mUi.closeTheLeastUsedTab(); mUi.updateCheckPrompt(); callBackNewTabAnim(); mBuilder.mIsShowing = false; } }, new AlertDialog.OnClickListener() { public void onClick(DialogInterface d, int which) { mBuilder.mIsShowing = true; } }); if (!isShow) { mUi.closeTheLeastUsedTab(); callBackNewTabAnim(); mBuilder.mIsShowing = false; return; } mBuilder.mIsShowing = true; return; } } else if (mClearAllTab == v) { clearAllTabs(); } else if (mFullScreen == v) { if (!mUi.mNavScreenShowing) { callBackFullScreenAnim(); } else { mBuilder.mIsShowing = true; return; } } mBuilder.mIsShowing = false; }
@Override protected void onConfigurationChanged(Configuration newconfig) { // mApplication.setmThumbnailPosition(mBuilder.mCurrentConfigPosition); removeAllViews(); int visibility = View.VISIBLE; if (mBuilder.mList.size() == 1) { // mark the last tab's close btn state Ticket:0029253 visibility = mBuilder.mList.get(0).mImageViewLeft.getVisibility(); } init(); if (mBuilder.mList.size() > 0) { mBuilder.mList.get(0).mImageViewLeft.setVisibility(visibility); for (ThumbnailItems thumbnailItems : mBuilder.mList) { thumbnailItems.showTabViewTitle(); } } mBuilder.setCurrentItemView(mApplication.getmThumbnailPosition()); updateBackground(mPrivateState); }
private void init() { LayoutInflater.from(getContext()).inflate(R.layout.nav_screen, this); setContentDescription( getContext().getResources().getString(R.string.accessibility_transition_navscreen)); System.out.println("================= NavScreen init 11111111 ===================="); // mApplication = (Browser) mActivity.getApplication(); mNewTab = (ImageButton) findViewById(R.id.newtab); mClearAllTab = (ImageButton) findViewById(R.id.clearall); mFullScreen = (ImageButton) findViewById(R.id.fullscreen); mClearAllTab.setOnClickListener(this); mFullScreen.setOnClickListener(this); mNewTab.setOnClickListener(this); mTc = mUiController.getTabControl(); mTabViews = new HashMap<Tab, View>(mTc.getTabCount()); mBuilder = (NavTabViewPagerBuilder) findViewById(R.id.viewPagerBuilder); mBuilder.makeViewPager(mUi, mTc); mNeedsMenu = !ViewConfiguration.get(getContext()).hasPermanentMenuKey(); changeIncogStyle(mTc.getIncogMode()); }
protected ThumbnailItems getThumView(int pos) { return mBuilder.getTabView(pos); }
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(); } }