Estou usando android.support.design.widget.BottomNavigationView da biblioteca de suporte de design versão 25
compile 'com.android.support:design:25.0.0'
<android.support.design.widget.BottomNavigationView
android:id="@+id/bottomBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_gravity="center"
app:itemBackground="@color/colorPrimary"
app:menu="@menu/bottom_navigation_main"
android:forceHasOverlappingRendering="true"/>
Quando existem apenas três ações no @ menu / bottom_navigation_main, ele exibe ícones e rótulos de texto o tempo todo.
Qual é a maneira de exibir ícones e rótulos de texto o tempo todo, quando houver mais de três ações.
android
android-support-library
android-support-design
bottomnavigationview
Desenvolvedor Android
fonte
fonte
Respostas:
Para quem ainda procura uma solução e não deseja confiar em bibliotecas de terceiros ou reflexão em tempo de execução, o BottomNavigationView na Biblioteca de suporte 28 / Jetpack suporta nativamente sempre a etiqueta de texto.
Este é o método que você está procurando.
Ou em XML,
app:labelVisibilityMode="labeled"
fonte
ATUALIZAÇÃO DE 8 de maio de 2018
Você pode usar
app:labelVisibilityMode="labeled"
diretamente<android.support.design.widget.BottomNavigationView />
Fonte: https://developer.android.com/reference/com/google/android/material/bottomnavigation/LabelVisibilityMode
Não precisa disso abaixo da solução longa.
RESPOSTA ANTERIOR
Eu tive um comportamento estranho com BottomNavigationView. Quando eu selecionava qualquer item / fragmento, o fragmento empurra o BottomNavigationView um pouco mais para baixo, para que o texto do BottomNavigationView fique abaixo da tela, para que apenas os ícones fiquem visíveis e o texto oculto ao clicar em qualquer item.
Se você está enfrentando esse comportamento estranho, aqui está a solução. Basta remover
no seu layout raiz do fragmento. Basta remover isso e boom! BottomNavigationView funcionará bem, agora pode ser mostrado com texto e ícone. Eu tinha isso na minha raiz CoordinatorLayout do fragmento.
Também não se esqueça de adicionar
em sua atividade para desativar o modo de mudança.
Aqui está essa classe:
fonte
disableShiftMode
e na classeremoveShiftMode
. Além dessa pequena discrepância, sua resposta resolveu o problema para mim. Agora tenho cinco itens de menu sem mudar e com o texto + ícone. Obrigado muito muito!É difícil na versão 25.
Experimente este código. Mas acho que não é uma boa solução.
fonte
Aqui está uma função de extensão Kotlin que combina a solução @STAR_ZERO e @ KishanSolanki124.
Para usá-lo:
fonte
Você quer esse efeito?
Nesse caso, eu recomendo que você tente BottomNavigationViewEx。
fonte
Você pode usar isso para mostrar texto e ícones em BottomNevigationView
Se você estiver usando isso, poderá visualizar o ícone e o texto
fonte
fonte
na classe BottomNavigationView, existe um campo BottomNavigationMenuView e, em BottomNavigationMenuView, existe um campo BottomNavigationItemView [], que são os itens na barra inferior.
Diga que n é o número de itens que BottomNavigationMenuView chamará BottomNavigationItemView.setShiftingMode (n> 3) em cada membro da matriz BottomNavigationItemView []. Esta função decide o comportamento (mostrar o título sempre ou somente após a seleção).
portanto, a maneira de mostrar sempre os títulos é tentar chamar esse método e você pode usar a reflexão para acessar os campos particulares.
fonte
Para mostrar os títulos até o fim. Experimente este código Kotlin:
fonte
Alternativa para BottomNavigationViewEx : BottomBar
fonte