回答

11

enter image description here

尝试以下代码:

XML文件:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="top" 
     android:background="@color/gray" 
     android:foregroundGravity="top" 
     android:gravity="top"> 

    </android.support.v7.widget.Toolbar> 

    <FrameLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_weight="1"> 


     <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      android:id="@+id/fragment_container" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" /> 

    </FrameLayout> 


    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="horizontal"> 

     <android.support.design.widget.BottomNavigationView 
      android:id="@+id/bottomnav" 
      android:layout_width="0dp" 
      android:layout_height="56dp" 
      android:layout_weight="1" 
      android:background="null" 
      app:itemIconTint="@color/green" 
      app:itemTextColor="@color/green" 
      app:menu="@menu/main"> 


     </android.support.design.widget.BottomNavigationView> 

     <ImageView 
      android:layout_width="0dp" 
      android:layout_height="56dp" 
      android:layout_weight="0.5" 
      android:src="@drawable/camera" /> 

     <android.support.design.widget.BottomNavigationView 
      android:id="@+id/bottomnav1" 
      android:layout_width="0dp" 
      android:layout_height="56dp" 
      android:layout_weight="1" 
      android:background="null" 
      app:itemIconTint="@color/green" 
      app:itemTextColor="@color/green" 
      app:menu="@menu/main"> 


     </android.support.design.widget.BottomNavigationView> 
    </LinearLayout> 
</LinearLayout> 

Helper类:

public class BottomNavigationViewHelper { 
    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); 
     } 
    } 
} 

在活动:

BottomNavigationView bnav = (BottomNavigationView) findViewById(R.id.bottomnav); 
BottomNavigationViewHelper.disableShiftMode(bnav); 

菜单文件:

<item 
    android:id="@+id/place" 
    android:icon="@drawable/ic_place_black_24dp" 
    android:title="Place"/> 

<item 
    android:id="@+id/home" 
    android:icon="@drawable/ic_account_balance_black_24dp" 
    android:title="Home"/> 

+0

感谢您的回复,但我已完成此代码。我想要像在底部导航项目中的第三个图标相机。 –

+0

你可以尝试水平线性布局。并且您可以在两者之间添加两个底部导航视图和一个图像视图。 –

+0

看到我编辑的答案 –