Mon problème est similaire à l'image ci-dessus
Je reçois ce problème dans les appareils Nexus. J'ai ajouté une marge à partir du bas en obtenant la hauteur de la barre de navigation Bottom. Mais mon application montre une marge supplémentaire à partir du bas sur une tablette.
Je ne veux rien changer dans mon fichier de style.
Code:-
<Android.support.design.widget.CoordinatorLayout
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/main_coordinator_layout"
Android:layout_width="match_parent"
Android:layout_height="match_parent">
<Android.support.design.widget.AppBarLayout
Android:id="@+id/clubhouse_bar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:fitsSystemWindows="true"
Android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar">
<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/clubhouse_toolbar_main"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:minHeight="?attr/actionBarSize"
Android:background="@Android:color/holo_red_dark"
app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
app:layout_scrollFlags="scroll|enterAlways">
<TextView
Android:id="@+id/toolbar_title"
Android:layout_width="wrap_content"
Android:layout_height="match_parent"
Android:textAppearance="@Android:style/TextAppearance.Holo.Medium.Inverse"
Android:gravity="center"
Android:singleLine="true"
Android:maxLines="1"
Android:paddingLeft="2dp"
Android:ellipsize="end"
Android:textColor="@color/white"
/>
</Android.support.v7.widget.Toolbar>
</Android.support.design.widget.AppBarLayout>
<ImageView
Android:id="@+id/iv_view"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:src="@drawable/ic_ab_arrowup"/>
<FrameLayout
Android:id="@+id/drop_down_overlay_container"
Android:layout_width="match_parent"
Android:layout_height="match_parent"
Android:background="@Android:color/white"
Android:layout_marginTop="60dp"
Android:fitsSystemWindows="true"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
</Android.support.design.widget.CoordinatorLayout>
Le drop_down_overlay_container dans ce framelayout est l'endroit où je montre mon fragment.
Ok, le problème est le suivant: la hauteur du parent de la correspondance cardview correspond en réalité à la hauteur totale de l’écran avec la barre supérieure. Une solution très simple consiste à ajouter:
Android:layout_marginBottom="?attr/actionBarSize"
comme ça:
<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:layout_width="match_parent"
Android:layout_height="match_parent"
Android:layout_marginBottom="?attr/actionBarSize"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
tools:context="com.example.jburg.empty.Main22Activity"
tools:showIn="@layout/activity_main22"
Android:background="@color/colorAccent"/>
Cela fonctionne sur mon émulateur Nexus 10 tablet. Faites-moi savoir si cela vous aide sinon je vais continuer à chercher :)
avez-vous essayé cela
La barre de navigation molle inférieure recouvre mon ListView
Le seul problème est que vous indiquez que vous ne souhaitez pas modifier votre fichier de style (sans mentionner pourquoi!) Et que l'utilisateur obtient votre résultat en modifiant le fichier de style.
ajoutez simplement un rembourrage inférieur identique à la hauteur de la barre de navigation inférieure dans RecyclerView.
Juste une suggestion :
Vous pouvez ajouter un bouton factice avec une visibilité = "invisible" (pas "parti"). La hauteur par défaut d'un bouton est presque identique à celle de la barre de navigation. Ainsi, même si la barre de navigation est au-dessus du bouton, vos données importantes seront entièrement visibles (au-dessus de la barre de navigation). Et vous n'avez pas à penser au bouton vu.
Dans votre cas, je suppose que vous avez une vue défilable dans votre fragment. Vous devez donc placer le bouton dans votre fragment xml sous votre vue à défilement (listview, recyclerview ...) ou au bas de votre fragment xml.
Essayez d’ajouter cette ligne Android:fitsSystemWindows="true"
à CoordinatorLayout.
essayez d'ajouter ce code dans imageview.
Android:layout_below="@+id/clubhouse_toolbar_main"