我刚刚实现了底部导航(AS的默认设置-文件->新建->活动->底部导航活动),一切正常,除了nav_host_fragment
顶部有一个空格。
由于它是在ConstraintLayout中生成的,因此我尝试清除约束并使用parent
设置顶部约束,将margin
设置为'0dp',并将height
设置为{{1 }}。
我未成功删除约束并反复尝试。
我使用了match_constraint
。
我更改为RelativeLayout并设置如下参数:
Clean Project
但是 <fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@+id/nav_view"
app:defaultNavHost="true"
app:navGraph="@navigation/mobile_navigation" />
和顶部之间的空间仍然存在。
这是配置文件:
nav_host_fragment
答案 0 :(得分:8)
从您的 相对布局 中删除这一行。
android:paddingTop="?attr/actionBarSize"
答案 1 :(得分:1)
@Mike的答案
看起来像android:paddingTop =“?attr / actionBarSize”
<RelativeLayout 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"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:background="?android:attr/windowBackground"
app:menu="@menu/bottom_nav_menu" />
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentTop="true"
android:layout_above="@+id/nav_view"
app:defaultNavHost="true"
app:navGraph="@navigation/mobile_navigation" />
</RelativeLayout>
答案 2 :(得分:0)
在我的布局中,我还算出了导航主机片段的底部空间。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<com.google.android.material.appbar.MaterialToolbar
android:id="@+id/toolbarMain"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_alignParentTop="true"
android:background="@color/colorPrimary"
app:contentInsetStart="@dimen/_minus10sdp">
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:gravity="center"
android:orientation="horizontal">
<com.google.android.material.textview.MaterialTextView
android:id="@+id/txtTitleMain"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center"
android:paddingStart="0dp"
android:paddingEnd="@dimen/_15sdp"
android:text="@string/app_name"
android:textAllCaps="false"
android:textColor="@color/colorWhite"
android:textSize="@dimen/_14ssp"
android:textStyle="bold" />
</LinearLayout>
</com.google.android.material.appbar.MaterialToolbar>
<fragment
android:id="@+id/nav_host_fragment"
android:name="androidx.navigation.fragment.NavHostFragment"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/nav_view"
android:layout_below="@id/toolbarMain"
app:defaultNavHost="true"
app:navGraph="@navigation/mobile_navigation" />
<com.google.android.material.bottomnavigation.BottomNavigationView
android:id="@+id/nav_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginStart="0dp"
android:layout_marginEnd="0dp"
android:background="?android:attr/windowBackground"
app:menu="@menu/bottom_nav_menu" />
</RelativeLayout>