1

我开始使用Android底部导航视图。但是我面临着一个问题。如果我向底部导航视图添加了5个项目,只显示项目文本的选定项目。如果我添加3个项目它工作正常。任何人都请告诉我如何显示所有5个项目的项目文本。 预先感谢您。Android底部导航查看产品的文字颜色?

menu.xml文件:

<menu xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:context="com.reloadapp.reload.activity.IconTabsActivity"> 
    <item 
     android:id="@+id/action_favorites" 
     android:enabled="true" 
     android:icon="@drawable/home_40" 
     android:title="Home" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_schedules" 
     android:enabled="true" 
     android:icon="@drawable/profile_40" 
     android:title="Profile" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_music" 
     android:enabled="true" 
     android:icon="@drawable/reload_40" 
     android:title="Reload cash" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_musi" 
     android:enabled="true" 
     android:icon="@drawable/notifications" 
     android:title="Notifications" 
     app:showAsAction="ifRoom" /> 
    <item 
     android:id="@+id/action_mus" 
     android:enabled="true" 
     android:icon="@drawable/menu_40" 
     android:title="More" 
     app:showAsAction="ifRoom" /> 
</menu> 

依赖性: 编译 'com.android.support:appcompat-v7:25.0.1' 编译 'com.android.support:design:25.0.0'

<android.support.design.widget.BottomNavigationView 
     android:id="@+id/bottom_navigation" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     app:itemBackground="@color/textColorPrimary" 
     app:menu="@menu/menu_icon_tabs" 
     app:itemIconTint="@color/colorPrimary" 
     app:itemTextColor="@color/colorPrimary" 
     android:layout_alignParentBottom="true"> 
    </android.support.design.widget.BottomNavigationView> 

回答

5

在底部导航删除动画,使用此代码

navigation = (BottomNavigationView) findViewById(R.id.navigation); 
     disableShiftMode(navigation); 

方法

public static void disableShiftMode(BottomNavigationView view) { 
     BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0); 
     try { 
      Field shiftingMode = menuView.getClass().getDeclaredField("mShiftingMode"); 
      shiftingMode.setAccessible(true); 
      shiftingMode.setBoolean(menuView, false); 
      shiftingMode.setAccessible(false); 
      for (int i = 0; i < menuView.getChildCount(); i++) { 
       BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); 
       //noinspection RestrictedApi 
       item.setShiftingMode(false); 
       // set once again checked value, so view will be updated 
       //noinspection RestrictedApi 
       item.setChecked(item.getItemData().isChecked()); 
      } 
     } catch (NoSuchFieldException e) { 
      Log.e("BNVHelper", "Unable to get shift mode field", e); 
     } catch (IllegalAccessException e) { 
      Log.e("BNVHelper", "Unable to change value of shift mode", e); 
     } 
    } 

UPDATE:

你可以改变菜单的文字大小这样How to change the Menu text size

+0

它是工作,但我有两个大的文本项。那些没有正确对齐:( –

+0

@kartheekij你不应该在BottomNavigation中给大文本..它没有设计大的文本项目 – Keerthivasan

+0

我们可以改变菜单项目的文本大小 –