2015-09-30 14 views
24

Stavo creando un'attività/layout delle impostazioni per la mia app. Ho uno CoordinatorLayout con uno AppBarLayout e Toolbar, quindi sotto quello include content_settings.xml. Quando il contenuto carica il file .xml si trova dietro la barra delle applicazioni.Contenuto dietro CoordinatorLayout AppBarLayout

Sto utilizzando la stessa impostazione per caricare il contenuto principale e funziona correttamente, ma per qualche motivo non viene visualizzato correttamente nella sezione Impostazioni.

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

Il content_settings.xml è solo un FrameLayout che è sostituito da 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" /> 

enter image description here

risposta

52

aggiungere questo alla tua Recyclerview:

app:layout_behavior="@string/appbar_scrolling_view_behavior" 
+2

Grazie, ha funzionato, non avevo un Recyclerview, ma l'ho aggiunto al FrameLayout e ha funzionato. Ho aggiornato la mia domanda. – ENG618

+7

Questo sposta le cose più in basso in modo che non vada più sotto la barra degli strumenti. Tuttavia, quando si scorre verso il basso, le preferenze in basso non vengono più visualizzate perché FrameLayout (o qualsiasi altra cosa che si utilizza per contenere PreferenceFragment) si trova dietro la barra dei pulsanti su schermo nera (back, home, ecc.). Almeno, questo è quello che è successo per me. Non ho ancora trovato una buona soluzione. – FrozenCow

1

Nel mio caso la vista sotto la barra degli strumenti non è stato scorrevole così, anche se la risposta accettata si è fermata la sovrapposizione ha spinto il contenuto verso il basso per l'altezza della barra degli strumenti , spingendo elementi fuori dallo schermo. La soluzione in questo caso è stato quello di rimuovere anche il

app:layout_scrollFlags 

dalla barra degli strumenti che mi è stato compreso/condivisione con altri layout che aveva una vista scorrimento.