布局 - 如何填补顶栏和底栏之间的空隙

时间:2017-02-27 15:56:32

标签: android-layout

我的应用程序顶部有一个工具栏,底部有一个BottomNavigationView(又名Tab控制器)。

我需要设置一个Frame布局,以便填补它们之间的空白。这将保留选定选项卡的内容。

这听起来很简单,我有点惊讶我在这里遇到了问题。

我曾尝试使用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>

1 个答案:

答案 0 :(得分:0)

答案似乎是将Frame的下边缘设置为底部导航栏的下边缘,但是也可以通过添加margin_bottom属性来允许导航栏的高度。这样可以使Frame的底边= =底栏的上边缘。

   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" />