web-dev-qa-db-ja.com

nav_Host_fragmentの上のスペースを削除できません

下のナビゲーション(ASのデフォルト-ファイル->新規->アクティビティ->下のナビゲーションアクティビティ)を実装しました。_nav_Host_fragment_の上部のスペースを除いて、すべて正常です。

wrong space

ConstraintLayoutで生成されたため、parentを使用して制約をクリーンアップし、marginを '0dp'に設定し、heightを_match_constraint_。

制約の削除に失敗し、何度も何度も試しました。

_Clean Project_を使用しました。

RelativeLayoutに変更し、次のように引数を設定しました。

_ <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_と上部の間のスペースはまだ残っています。

Lyoutファイルは次のとおりです。

_<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"
        Android:paddingTop="?attr/actionBarSize">

    <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>
_
11

Removeこの行をRelative Layoutから削除します。

Android:paddingTop="?attr/actionBarSize"
23
Samir Dangal

@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>
1
Avinash kumawat