2017-02-27 213 views
0

我有一個工具欄在我的應用程序的頂部和BottomNavigationView(又名Tab控制器)在底部。佈局 - 如何填補頂部酒吧和底部酒吧之間的差距

我需要設置一個框架佈局,以填補它們之間的空白。這將保存選定選項卡的內容。

這聽起來很簡單,我有點驚訝,我在這裏遇到問題。

我曾嘗試使用layout_above和layout_below,但無法渲染幀(背景黃色,所以我可以看到它)。除非這是我添加明確的高度,顯然我不想做。

任何想法請:

<RelativeLayout 
    android:layout_width="match_parent" 
     android:layout_height="match_parent"> 

    <android.support.v7.widget.Toolbar 
       xmlns:android="http://schemas.android.com/apk/res/android" 
       xmlns:app="http://schemas.android.com/apk/res-auto" 
       android:id="@+id/toolbar" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:minHeight="?attr/actionBarSize" 
       android:background="#007AFF" 
       app:layout_scrollFlags="scroll|enterAlways" 
       android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" 
       app:popupTheme="@style/ThemeOverlay.AppCompat.Dark" /> 

    <FrameLayout 
      android:id="@+id/frame_fragmentholder" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:background="@color/yellow" 
      android:layout_below="@id/toolbar" 
      android:layout_above="@id/bottom_nav"/> 

    <android.support.design.widget.BottomNavigationView 
      android:id="@+id/bottom_nav" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:layout_alignParentBottom="true" 
      app:itemIconTint="@drawable/selector" 
      app:itemTextColor="@drawable/selector" 
      android:background="#007AFF" 
      app:menu="@menu/bottombar_menu" /> 
</RelativeLayout> 

回答

0

這個問題的答案似乎是框架的底部邊緣設置爲底部導航欄的底部邊緣,但隨後也允許資產淨值的高度通過添加一個margin_bottom屬性。這具有使底部欄的頂部邊緣=底部邊緣的效果。

android:layout_alignBottom="@+id/bottom_nav" 
    android:layout_marginBottom="?attr/actionBarSize" 



    <FrameLayout 
      android:id="@+id/frame_fragmentholder" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:background="@color/yellow" 
      android:layout_below="@id/toolbar" 
      layout_alignBottom="@+id/bottom_nav" 
      android:layout_marginBottom="?attr/actionBarSize" />