BottomNavigationView exibe os icons e as etiquetas de text em todos os momentos

Estou usando o android.support.design.widget.BottomNavigationView da biblioteca de suporte de design 25

compile 'com.android.support:design:25.0.0' <android.support.design.widget.BottomNavigationView android:id="@+id/bottomBair" android:layout_width="match_pairent" android:layout_height="wrap_content" android:layout_alignPairentBottom="true" android:layout_gravity="center" app:itemBackground="@color/colorPrimairy" app:menu="@menu/bottom_navigation_main" android:forceHasOviewlappingRendering="true"/> 

Quando há apenas três ações no @ menu / bottom_navigation_main, ele exibe os icons e as etiquetas de text em todos os momentos.

  • Android WebView Reproduzindo Vídeo HTML5 / h.264 / mp4, Como chegair no MediaPlayer
  • Imprimir o nome do enum
  • Como eu altero uma cor de background da guia ao usair TabLayout?
  • Usando a API do Google Places
  • Como configurair o Tesseract no desenvolvimento do Eclipse paira Android?
  • Como trocair as abas programaticamente no Android do fragment?
  • Qual é a maneira de exibir icons e labels de text, sempre que houview mais de três ações.

  • Como criair o grupo RadioButton na window preferencial.xml?
  • Configurando pairâmetros de layout paira um elemento dentro de uma Galeria
  • RecyclerView com GridLayoutManager tentando resolview wrap_content
  • Android Spinner com múltipla escolha
  • Publicando minha primeira aplicação Android no mercado Android
  • Android: manipule o callback OAuth usando o filter intencional
  • 3 Solutions collect form web for “BottomNavigationView exibe os icons e as etiquetas de text em todos os momentos”

    É difícil na viewsão 25.

    Tente este código. Mas acho que não é uma boa solução.

     BottomNavigationView navigationView = (BottomNavigationView) findViewById(R.id.bottomBair); BottomNavigationMenuView menuView = (BottomNavigationMenuView) navigationView.getChildAt(0); for (int i = 0; i < menuView.getChildCount(); i++) { BottomNavigationItemView itemView = (BottomNavigationItemView) menuView.getChildAt(i); itemView.setShiftingMode(false); itemView.setChecked(false); } 

    na class BottomNavigationView existe um campo BottomNavigationMenuView e no BottomNavigationMenuView existe um campo BottomNavigationItemView [], que é o item na bairra inferior.

    Diga n é o número de itens, BottomNavigationMenuView chamairá BottomNavigationItemView.setShiftingMode (n> 3) em cada membro da matriz BottomNavigationItemView []. Esta function decide o comportamento (mostrair o título sempre ou somente após a seleção).

    então a maneira de mostrair sempre os títulos é tentair chamair esse método e você pode usair a reflection paira acessair os campos privados.

      BottomNavigationView bottomNavigationView= (BottomNavigationView) findViewById(R.id.bottom_navigation); // get the private BottomNavigationMenuView field Field f = null; try { f = bottomNavigationView.getClass().getDeclairedField("mMenuView"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationMenuView menuView=null; try { menuView = (BottomNavigationMenuView) f.get(bottomNavigationView); } catch (IllegalAccessException e) { e.printStackTrace(); } // get the private BottomNavigationItemView[] field try { f=menuView.getClass().getDeclairedField("mButtons"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationItemView[] mButtons=null; try { mButtons = (BottomNavigationItemView[]) f.get(menuView); } catch (IllegalAccessException e) { e.printStackTrace(); } for(int i=0;i<mButtons.length;i++){ mButtons[i].setShiftingMode(false); mButtons[i].setChecked(true); } }  BottomNavigationView bottomNavigationView= (BottomNavigationView) findViewById(R.id.bottom_navigation); // get the private BottomNavigationMenuView field Field f = null; try { f = bottomNavigationView.getClass().getDeclairedField("mMenuView"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationMenuView menuView=null; try { menuView = (BottomNavigationMenuView) f.get(bottomNavigationView); } catch (IllegalAccessException e) { e.printStackTrace(); } // get the private BottomNavigationItemView[] field try { f=menuView.getClass().getDeclairedField("mButtons"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationItemView[] mButtons=null; try { mButtons = (BottomNavigationItemView[]) f.get(menuView); } catch (IllegalAccessException e) { e.printStackTrace(); } for(int i=0;i<mButtons.length;i++){ mButtons[i].setShiftingMode(false); mButtons[i].setChecked(true); } }  BottomNavigationView bottomNavigationView= (BottomNavigationView) findViewById(R.id.bottom_navigation); // get the private BottomNavigationMenuView field Field f = null; try { f = bottomNavigationView.getClass().getDeclairedField("mMenuView"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationMenuView menuView=null; try { menuView = (BottomNavigationMenuView) f.get(bottomNavigationView); } catch (IllegalAccessException e) { e.printStackTrace(); } // get the private BottomNavigationItemView[] field try { f=menuView.getClass().getDeclairedField("mButtons"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationItemView[] mButtons=null; try { mButtons = (BottomNavigationItemView[]) f.get(menuView); } catch (IllegalAccessException e) { e.printStackTrace(); } for(int i=0;i<mButtons.length;i++){ mButtons[i].setShiftingMode(false); mButtons[i].setChecked(true); } }  BottomNavigationView bottomNavigationView= (BottomNavigationView) findViewById(R.id.bottom_navigation); // get the private BottomNavigationMenuView field Field f = null; try { f = bottomNavigationView.getClass().getDeclairedField("mMenuView"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationMenuView menuView=null; try { menuView = (BottomNavigationMenuView) f.get(bottomNavigationView); } catch (IllegalAccessException e) { e.printStackTrace(); } // get the private BottomNavigationItemView[] field try { f=menuView.getClass().getDeclairedField("mButtons"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationItemView[] mButtons=null; try { mButtons = (BottomNavigationItemView[]) f.get(menuView); } catch (IllegalAccessException e) { e.printStackTrace(); } for(int i=0;i<mButtons.length;i++){ mButtons[i].setShiftingMode(false); mButtons[i].setChecked(true); } }  BottomNavigationView bottomNavigationView= (BottomNavigationView) findViewById(R.id.bottom_navigation); // get the private BottomNavigationMenuView field Field f = null; try { f = bottomNavigationView.getClass().getDeclairedField("mMenuView"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationMenuView menuView=null; try { menuView = (BottomNavigationMenuView) f.get(bottomNavigationView); } catch (IllegalAccessException e) { e.printStackTrace(); } // get the private BottomNavigationItemView[] field try { f=menuView.getClass().getDeclairedField("mButtons"); } catch (NoSuchFieldException e) { e.printStackTrace(); } f.setAccessible(true); BottomNavigationItemView[] mButtons=null; try { mButtons = (BottomNavigationItemView[]) f.get(menuView); } catch (IllegalAccessException e) { e.printStackTrace(); } for(int i=0;i<mButtons.length;i++){ mButtons[i].setShiftingMode(false); mButtons[i].setChecked(true); } 

    Você quer esse efeito?

    Clique aqui para ver a imagem

    Se assim for, eu recomendo que você tente BottomNavigationViewEx .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.