private void switchFragment(Class<?> clazz) { Fragment to = ViewUtils.createFragment(clazz); if (to.isAdded()) { Log.i(TAG, "Added"); mFragmentManager.beginTransaction().hide(mCurrentFragment).show(to).commitAllowingStateLoss(); } else { Log.i(TAG, "Not Added"); mFragmentManager.beginTransaction().hide(mCurrentFragment).add(R.id.frame_content, to).commitAllowingStateLoss(); } mCurrentFragment = to; }
private void initDefaultFragment() { Log.i(TAG, "initDefaultFragment"); mCurrentFragment = ViewUtils.createFragment(MainFragment.class); mFragmentManager.beginTransaction().add(R.id.frame_content, mCurrentFragment).commit(); mNavigationView.getMenu().getItem(mCurrentSelectMenuIndex).setChecked(true); // // Log.i(TAG, "mNavigationView.getMenu().getItem(0)" + mNavigationView.getMenu().getItem(0).isChecked()); // Log.i(TAG, "mNavigationView.getMenu().getItem(1)" + mNavigationView.getMenu().getItem(1).isChecked()); }
private int updateStatusGuard(int insetTop) { int i = 0; boolean showStatusGuard = false; if (this.mActionModeView != null && (this.mActionModeView.getLayoutParams() instanceof MarginLayoutParams)) { MarginLayoutParams mlp = (MarginLayoutParams) this.mActionModeView.getLayoutParams(); boolean mlpChanged = false; if (this.mActionModeView.isShown()) { int newMargin; if (this.mTempRect1 == null) { this.mTempRect1 = new Rect(); this.mTempRect2 = new Rect(); } Rect insets = this.mTempRect1; Rect localInsets = this.mTempRect2; insets.set(0, insetTop, 0, 0); ViewUtils.computeFitSystemWindows(this.mSubDecor, insets, localInsets); if (localInsets.top == 0) { newMargin = insetTop; } else { newMargin = 0; } if (mlp.topMargin != newMargin) { mlpChanged = true; mlp.topMargin = insetTop; if (this.mStatusGuard == null) { this.mStatusGuard = new View(this.mContext); this.mStatusGuard.setBackgroundColor(this.mContext.getResources().getColor(R.color.abc_input_method_navigation_guard)); this.mSubDecor.addView(this.mStatusGuard, -1, new LayoutParams(-1, insetTop)); } else { LayoutParams lp = this.mStatusGuard.getLayoutParams(); if (lp.height != insetTop) { lp.height = insetTop; this.mStatusGuard.setLayoutParams(lp); } } } if (this.mStatusGuard != null) { showStatusGuard = true; } else { showStatusGuard = false; } if (!this.mOverlayActionMode && showStatusGuard) { insetTop = 0; } } else if (mlp.topMargin != 0) { mlpChanged = true; mlp.topMargin = 0; } if (mlpChanged) { this.mActionModeView.setLayoutParams(mlp); } } if (this.mStatusGuard != null) { View view = this.mStatusGuard; if (!showStatusGuard) { i = 8; } view.setVisibility(i); } return insetTop; }
@Override protected void onLayout(boolean changed, int left, int top, int right, int bottom) { final int paddingLeft = getPaddingLeft(); final int paddingRight = getPaddingRight(); final int paddingTop = getPaddingTop(); final int paddingBottom = getPaddingBottom(); final boolean isRTL = ViewUtils.isLayoutRtl(this); final int columnWidth = Math.round((float) (right - left - paddingLeft - paddingRight)) / mColumnCount; final int rowHeight = Math.round((float) (bottom - top - paddingTop - paddingBottom)) / mRowCount; int rowIndex = 0, columnIndex = 0; for (int childIndex = 0; childIndex < getChildCount(); ++childIndex) { final View childView = getChildAt(childIndex); if (childView.getVisibility() == View.GONE) { continue; } final MarginLayoutParams lp = (MarginLayoutParams) childView.getLayoutParams(); final int childTop = paddingTop + lp.topMargin + rowIndex * rowHeight; final int childBottom = childTop - lp.topMargin - lp.bottomMargin + rowHeight; final int childLeft = paddingLeft + lp.leftMargin + (isRTL ? (mColumnCount - 1) - columnIndex : columnIndex) * columnWidth; final int childRight = childLeft - lp.leftMargin - lp.rightMargin + columnWidth; final int childWidth = childRight - childLeft; final int childHeight = childBottom - childTop; if (childWidth != childView.getMeasuredWidth() || childHeight != childView.getMeasuredHeight()) { childView.measure( MeasureSpec.makeMeasureSpec(childWidth, MeasureSpec.EXACTLY), MeasureSpec.makeMeasureSpec(childHeight, MeasureSpec.EXACTLY)); } childView.layout(childLeft, childTop, childRight, childBottom); rowIndex = (rowIndex + (columnIndex + 1) / mColumnCount) % mRowCount; columnIndex = (columnIndex + 1) % mColumnCount; } }
private boolean isLayoutRtl() { return ViewUtils.isLayoutRtl(this); }
/** * Animated the forward movement of the cursor. * <p> * Only available of JellyBean and above devices. * Does not work with RTL languages. * * @param animated Animate the cursors movement. */ @TargetApi(Build.VERSION_CODES.JELLY_BEAN) public void setCursorAnimated(boolean animated) { mAnimateCursor = animated && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN && !ViewUtils.isLayoutRtl(this); }