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
.
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>
Supprimer cette ligne de votre Disposition relative .
Android:paddingTop="?attr/actionBarSize"
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>