Je créais une activité/disposition de paramètres pour mon application. J'ai un CoordinatorLayout
avec un AppBarLayout
et Toolbar
, puis en dessous il comprend content_settings.xml
. Lorsque le contenu se charge, le fichier .xml se trouve derrière la barre d'application.
J'utilise cette même configuration pour charger le contenu principal et cela fonctionne bien, mais pour une raison quelconque, le rendu n'est pas correct dans la section Paramètres.
activity_settings.xml
<Android.support.design.widget.AppBarLayout
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:theme="@style/AppTheme.AppBarOverlay">
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />
</Android.support.design.widget.AppBarLayout>
<include layout="@layout/content_setting" />
Content_settings.xml est juste un FrameLayout
qui est remplacé par un PreferenceFragment
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:app="http://schemas.Android.com/apk/res-auto"
Android:id="@+id/settings_container"
Android:layout_width="match_parent"
Android:layout_height="match_parent" />
ajoutez ceci à votre Recyclerview:
app:layout_behavior="@string/appbar_scrolling_view_behavior"
Dans mon cas, la vue sous la barre d'outils n'était pas défilable, même si la réponse acceptée a arrêté le chevauchement, elle a poussé le contenu vers le bas de la hauteur de la barre d'outils, poussant les éléments hors écran. La solution dans ce cas était de supprimer également
app:layout_scrollFlags
à partir de la barre d'outils que j'incluais/partageais avec d'autres mises en page avec des vues défilantes.