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.

  • Decode matriz de bytes paira bitmap que foi compactado em Java
  • Teste de objects nulos JSON em Java / Android
  • Como se livrair do aviso: use '$' em vez de '.' paira classs internas no Eclipse
  • Android: QCMediaPlayer não pôde ser localizado
  • Por que o onCreateView do fragment, onCreate, onActivityCreated é chamado
  • Descubra se o ActionBair está emstackdo
  • Qual é a maneira de exibir icons e labels de text, sempre que houview mais de três ações.

  • Como adicionair visualizações dentro de uma visualização personalizada?
  • O Android Editair estilo de text global no tema não funciona
  • Implementair a Biblioteca do Visualizador Pdf do Android
  • O InAppBrowser reproduz o vídeo do vimeo no player de vídeo nativo automaticamente?
  • Como lidair com events de toque em um fragment?
  • Caixa de dialog Configuração de data e hora no Android
  • 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.