Java Code Examples for android.support.design.internal.BottomNavigationMenuView#updateMenuView()
The following examples show how to use
android.support.design.internal.BottomNavigationMenuView#updateMenuView() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: BottomNavigationViewEx.java From playa with MIT License | 6 votes |
/** * enable the shifting mode for navigation * * @param enable It will has a shift animation if true. Otherwise all items are the same width. */ public void enableShiftingMode(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. change field mShiftingMode value in mMenuView private boolean mShiftingMode = true; */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. change field mShiftingMode value in mMenuView setField(mMenuView.getClass(), mMenuView, "mShiftingMode", enable); mMenuView.updateMenuView(); }
Example 2
Source File: BottomNavigationViewEx.java From playa with MIT License | 6 votes |
/** * enable the shifting mode for each item * * @param enable It will has a shift animation for item if true. Otherwise the item text always be shown. */ public void enableItemShiftingMode(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in this mMenuView private BottomNavigationItemView[] mButtons; 3. change field mShiftingMode value in mButtons private boolean mShiftingMode = true; */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { setField(button.getClass(), button, "mShiftingMode", enable); } mMenuView.updateMenuView(); }
Example 3
Source File: BottomNavigationViewEx.java From Cashew with Apache License 2.0 | 6 votes |
/** * enable the shifting mode for navigation * * @param enable It will has a shift animation if true. Otherwise all items are the same width. */ public void enableShiftingMode(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. change field mShiftingMode value in mMenuView private boolean mShiftingMode = true; */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. change field mShiftingMode value in mMenuView setField(mMenuView.getClass(), mMenuView, "mShiftingMode", enable); mMenuView.updateMenuView(); }
Example 4
Source File: BottomNavigationViewEx.java From Cashew with Apache License 2.0 | 6 votes |
/** * enable the shifting mode for each item * * @param enable It will has a shift animation for item if true. Otherwise the item text always be shown. */ public void enableItemShiftingMode(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in this mMenuView private BottomNavigationItemView[] mButtons; 3. change field mShiftingMode value in mButtons private boolean mShiftingMode = true; */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { setField(button.getClass(), button, "mShiftingMode", enable); } mMenuView.updateMenuView(); }
Example 5
Source File: BottomNavigationViewEx.java From playa with MIT License | 5 votes |
/** * set menu item height * * @param height in px */ public void setItemHeight(int height) { // 1. get mMenuView final BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. set private final int mItemHeight in mMenuView setField(mMenuView.getClass(), mMenuView, "mItemHeight", height); mMenuView.updateMenuView(); }
Example 6
Source File: BottomNavigationViewEx.java From Cashew with Apache License 2.0 | 5 votes |
/** * set menu item height * * @param height in px */ public void setItemHeight(int height) { // 1. get mMenuView final BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. set private final int mItemHeight in mMenuView setField(mMenuView.getClass(), mMenuView, "mItemHeight", height); mMenuView.updateMenuView(); }
Example 7
Source File: BottomNavigationViewInner.java From BottomNavigationViewEx with MIT License | 5 votes |
/** * set menu item height * * @param height in px */ public BottomNavigationViewInner setItemHeight(int height) { // 1. get mMenuView final BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. set private final int mItemHeight in mMenuView setField(mMenuView.getClass(), mMenuView, "itemHeight", height); mMenuView.updateMenuView(); return this; }
Example 8
Source File: BottomNavigationViewEx.java From playa with MIT License | 4 votes |
/** * change the visibility of text * * @param visibility */ public void setTextVisibility(boolean visibility) { this.textVisibility = visibility; /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. set text size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel 4. change mItemHeight to only icon size in mMenuView */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "mLargeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "mSmallLabel"); if (!visibility) { // if not record the font size, record it if (!visibilityTextSizeRecord && !animationRecord) { visibilityTextSizeRecord = true; mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); } // if not visitable, set font size to 0 mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); } else { // if not record the font size, we need do nothing. if (!visibilityTextSizeRecord) break; // restore it mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); } } // 4 change mItemHeight to only icon size in mMenuView if (!visibility) { // if not record mItemHeight if (!visibilityHeightRecord) { visibilityHeightRecord = true; mItemHeight = getItemHeight(); } // change mItemHeight to only icon size in mMenuView // private final int mItemHeight; // change mItemHeight // System.out.println("mLargeLabel.getMeasuredHeight():" + getFontHeight(mSmallLabelSize)); setItemHeight(mItemHeight - getFontHeight(mSmallLabelSize)); } else { // if not record the mItemHeight, we need do nothing. if (!visibilityHeightRecord) return; // restore mItemHeight setItemHeight(mItemHeight); } mMenuView.updateMenuView(); }
Example 9
Source File: BottomNavigationViewEx.java From playa with MIT License | 4 votes |
/** * enable or disable click item animation(text scale and icon move animation in no item shifting mode) * * @param enable It means the text won't scale and icon won't move when active it in no item shifting mode if false. */ public void enableAnimation(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. chang mShiftAmount to 0 in mButtons private final int mShiftAmount change mScaleUpFactor and mScaleDownFactor to 1f in mButtons private final float mScaleUpFactor private final float mScaleDownFactor 4. change label font size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "mLargeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "mSmallLabel"); // if disable animation, need animationRecord the source value if (!enable) { if (!animationRecord) { animationRecord = true; mShiftAmount = getField(button.getClass(), button, "mShiftAmount"); mScaleUpFactor = getField(button.getClass(), button, "mScaleUpFactor"); mScaleDownFactor = getField(button.getClass(), button, "mScaleDownFactor"); mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); // System.out.println("mShiftAmount:" + mShiftAmount + " mScaleUpFactor:" // + mScaleUpFactor + " mScaleDownFactor:" + mScaleDownFactor // + " mLargeLabel:" + mLargeLabelSize + " mSmallLabel:" + mSmallLabelSize); } // disable setField(button.getClass(), button, "mShiftAmount", 0); setField(button.getClass(), button, "mScaleUpFactor", 1); setField(button.getClass(), button, "mScaleDownFactor", 1); // let the mLargeLabel font size equal to mSmallLabel mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); // debug start // mLargeLabelSize = mLargeLabel.getTextSize(); // System.out.println("mLargeLabel:" + mLargeLabelSize); // debug end } else { // haven't change the value. It means it was the first call this method. So nothing need to do. if (!animationRecord) return; // enable animation setField(button.getClass(), button, "mShiftAmount", mShiftAmount); setField(button.getClass(), button, "mScaleUpFactor", mScaleUpFactor); setField(button.getClass(), button, "mScaleDownFactor", mScaleDownFactor); // restore mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); } } mMenuView.updateMenuView(); }
Example 10
Source File: BottomNavigationViewEx.java From Cashew with Apache License 2.0 | 4 votes |
/** * change the visibility of text * * @param visibility */ public void setTextVisibility(boolean visibility) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. set text size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel 4. change mItemHeight to only icon size in mMenuView */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "mLargeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "mSmallLabel"); if (!visibility) { // if not record the font size, record it if (!visibilityTextSizeRecord && !animationRecord) { visibilityTextSizeRecord = true; mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); } // if not visitable, set font size to 0 mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); } else { // if not record the font size, we need do nothing. if (!visibilityTextSizeRecord) break; // restore it mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); } } // 4 change mItemHeight to only icon size in mMenuView if (!visibility) { // if not record mItemHeight if (!visibilityHeightRecord) { visibilityHeightRecord = true; mItemHeight = getItemHeight(); } // change mItemHeight to only icon size in mMenuView // private final int mItemHeight; // change mItemHeight // System.out.println("mLargeLabel.getMeasuredHeight():" + getFontHeight(mSmallLabelSize)); setItemHeight(mItemHeight - getFontHeight(mSmallLabelSize)); } else { // if not record the mItemHeight, we need do nothing. if (!visibilityHeightRecord) return; // restore mItemHeight setItemHeight(mItemHeight); } mMenuView.updateMenuView(); }
Example 11
Source File: BottomNavigationViewEx.java From Cashew with Apache License 2.0 | 4 votes |
/** * enable or disable click item animation(text scale and icon move animation in no item shifting mode) * * @param enable It means the text won't scale and icon won't move when active it in no item shifting mode if false. */ public void enableAnimation(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. chang mShiftAmount to 0 in mButtons private final int mShiftAmount change mScaleUpFactor and mScaleDownFactor to 1f in mButtons private final float mScaleUpFactor private final float mScaleDownFactor 4. change label font size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "mLargeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "mSmallLabel"); // if disable animation, need animationRecord the source value if (!enable) { if (!animationRecord) { animationRecord = true; mShiftAmount = getField(button.getClass(), button, "mShiftAmount"); mScaleUpFactor = getField(button.getClass(), button, "mScaleUpFactor"); mScaleDownFactor = getField(button.getClass(), button, "mScaleDownFactor"); mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); // System.out.println("mShiftAmount:" + mShiftAmount + " mScaleUpFactor:" // + mScaleUpFactor + " mScaleDownFactor:" + mScaleDownFactor // + " mLargeLabel:" + mLargeLabelSize + " mSmallLabel:" + mSmallLabelSize); } // disable setField(button.getClass(), button, "mShiftAmount", 0); setField(button.getClass(), button, "mScaleUpFactor", 1); setField(button.getClass(), button, "mScaleDownFactor", 1); // let the mLargeLabel font size equal to mSmallLabel mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); // debug start // mLargeLabelSize = mLargeLabel.getTextSize(); // System.out.println("mLargeLabel:" + mLargeLabelSize); // debug end } else { // haven't change the value. It means it was the first call this method. So nothing need to do. if (!animationRecord) return; // enable animation setField(button.getClass(), button, "mShiftAmount", mShiftAmount); setField(button.getClass(), button, "mScaleUpFactor", mScaleUpFactor); setField(button.getClass(), button, "mScaleDownFactor", mScaleDownFactor); // restore mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); } } mMenuView.updateMenuView(); }
Example 12
Source File: BottomNavigationViewInner.java From BottomNavigationViewEx with MIT License | 4 votes |
/** * change the visibility of text * * @param visibility */ public BottomNavigationViewInner setTextVisibility(boolean visibility) { this.textVisibility = visibility; /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. set text size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel 4. change mItemHeight to only icon size in mMenuView */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "largeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "smallLabel"); if (!visibility) { // if not record the font size, record it if (!visibilityTextSizeRecord && !animationRecord) { visibilityTextSizeRecord = true; mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); } // if not visitable, set font size to 0 mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, 0); } else { // if not record the font size, we need do nothing. if (!visibilityTextSizeRecord) break; // restore it mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); mSmallLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); } } // 4 change mItemHeight to only icon size in mMenuView if (!visibility) { // if not record mItemHeight if (!visibilityHeightRecord) { visibilityHeightRecord = true; mItemHeight = getItemHeight(); } // change mItemHeight to only icon size in mMenuView // private final int mItemHeight; // change mItemHeight // System.out.println("mLargeLabel.getMeasuredHeight():" + getFontHeight(mSmallLabelSize)); setItemHeight(mItemHeight - getFontHeight(mSmallLabelSize)); } else { // if not record the mItemHeight, we need do nothing. if (!visibilityHeightRecord) return this; // restore mItemHeight setItemHeight(mItemHeight); } mMenuView.updateMenuView(); return this; }
Example 13
Source File: BottomNavigationViewInner.java From BottomNavigationViewEx with MIT License | 4 votes |
/** * enable or disable click item animation(text scale and icon move animation in no item shifting mode) * * @param enable It means the text won't scale and icon won't move when active it in no item shifting mode if false. */ public BottomNavigationViewInner enableAnimation(boolean enable) { /* 1. get field in this class private final BottomNavigationMenuView mMenuView; 2. get field in mButtons private BottomNavigationItemView[] mButtons; 3. chang mShiftAmount to 0 in mButtons private final int mShiftAmount change mScaleUpFactor and mScaleDownFactor to 1f in mButtons private final float mScaleUpFactor private final float mScaleDownFactor 4. change label font size in mButtons private final TextView mLargeLabel private final TextView mSmallLabel */ // 1. get mMenuView BottomNavigationMenuView mMenuView = getBottomNavigationMenuView(); // 2. get mButtons BottomNavigationItemView[] mButtons = getBottomNavigationItemViews(); // 3. change field mShiftingMode value in mButtons for (BottomNavigationItemView button : mButtons) { TextView mLargeLabel = getField(button.getClass(), button, "largeLabel"); TextView mSmallLabel = getField(button.getClass(), button, "smallLabel"); // if disable animation, need animationRecord the source value if (!enable) { if (!animationRecord) { animationRecord = true; mShiftAmount = getField(button.getClass(), button, "shiftAmount"); mScaleUpFactor = getField(button.getClass(), button, "scaleUpFactor"); mScaleDownFactor = getField(button.getClass(), button, "scaleDownFactor"); mLargeLabelSize = mLargeLabel.getTextSize(); mSmallLabelSize = mSmallLabel.getTextSize(); // System.out.println("mShiftAmount:" + mShiftAmount + " mScaleUpFactor:" // + mScaleUpFactor + " mScaleDownFactor:" + mScaleDownFactor // + " mLargeLabel:" + mLargeLabelSize + " mSmallLabel:" + mSmallLabelSize); } // disable setField(button.getClass(), button, "shiftAmount", 0); setField(button.getClass(), button, "scaleUpFactor", 1); setField(button.getClass(), button, "scaleDownFactor", 1); // let the mLargeLabel font size equal to mSmallLabel mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mSmallLabelSize); // debug start // mLargeLabelSize = mLargeLabel.getTextSize(); // System.out.println("mLargeLabel:" + mLargeLabelSize); // debug end } else { // haven't change the value. It means it was the first call this method. So nothing need to do. if (!animationRecord) return this; // enable animation setField(button.getClass(), button, "shiftAmount", mShiftAmount); setField(button.getClass(), button, "scaleUpFactor", mScaleUpFactor); setField(button.getClass(), button, "scaleDownFactor", mScaleDownFactor); // restore mLargeLabel.setTextSize(TypedValue.COMPLEX_UNIT_PX, mLargeLabelSize); } } mMenuView.updateMenuView(); return this; }