web-dev-qa-db-fra.com

Impossible de supprimer l'espace au-dessus de nav_Host_fragment

Je viens d'implémenter une navigation en bas (par défaut d'AS - Fichier -> Nouveau -> Activité -> Activité de navigation en bas) Tout va bien sauf un espace en haut du nav_Host_fragment.

wrong space

Comme il a été généré dans un ConstraintLayout, j'ai essayé de nettoyer les contraintes et de définir la contrainte supérieure avec parent, en définissant margin sur '0dp' et en définissant height sur match_constraint.

J'ai sans succès supprimé les contraintes et j'ai essayé encore et encore.

J'ai utilisé Clean Project.

J'ai changé pour RelativeLayout et défini des arguments comme celui-ci:

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

Mais l'espace entre nav_Host_fragment et le haut est toujours là.

Voici le fichier 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
Igor Grecco Lacourt

Supprimer cette ligne de votre Disposition relative .

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

Réponse de @Mike

Cela ressemble à Android: paddingTop = "? Attr/actionBarSize" sur le

 <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