sto usando la libreria di progettazione Android su API 22. vorrei:Design Library Android CoordinatorLayout, AppBarLayout e DrawerLayout
- hanno una barra degli strumenti e una DrawerLayout all'interno del quale v'è una RecyclerView
- hanno il DrawerLayout si trova sotto la barra degli strumenti; ad esempio, quando la barra degli strumenti è visibile, il contenuto principale del cassetto deve essere al di sotto di esso e il cassetto (a sinistra) dovrebbe essere anche sotto di esso in modo che quando è espanso, la barra degli strumenti sia ancora visibile
- avere la barra degli strumenti fuori dallo schermata quando la vista del riciclatore scorre verso il basso
È possibile? Ho problemi a sposare # 2 e # 3. Il modo in cui è ora è che la barra degli strumenti è sempre sopra il layout del cassetto, che copre la prima voce nel riciclatore e anche la parte superiore del cassetto sinistro. Qui è il mio file di layout (incompleto, ma che mostra la mia struttura):
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.DrawerLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"/>
</android.support.v4.widget.DrawerLayout>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<Toolbar
android:layout_width="match_parent"
android:layout_height="?android:attr/actionBarSize"
app:layout_scrollFlags="scroll|enterAlways"/>
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
Sembra però app del RecyclerView: layout_behavior = "@ string/appbar_scrolling_view_behavior" impostazione non ha effetto, perché una volta cancellato, il comportamento è lo stesso.
Ho provato ad aggiungere un RelativeLayout come figlio del CoordinatorLayout per definire che il cassetto si trova sotto la barra degli strumenti, ecc. Ma nulla sembra funzionare.
È ciò che sto cercando di ottenere con la libreria?
So cosa succede, l'ho provato. Se inserisco la barra degli strumenti all'interno del contenuto principale di DrawerLayout (con RecyclerView), il cassetto coprirà la barra degli strumenti. Vorrei che il cassetto fosse sotto la barra degli strumenti. Altrimenti non vedrò la fantasia animazione dell'icona e della freccia dell'hamburger. Ma forse è il modo in cui ora, come tutte le nuove app (anche l'app Foto, ecc.) Hanno semplicemente il coperchio anche sulla barra degli strumenti? Non mi piace il modo in cui appare il drower standard, con l'intestazione che copre la barra degli strumenti, poiché sembra pesante, ma sembra essere lo standard. – wujek
Non sto ancora utilizzando NavigationView poiché sto procedendo passo passo e sostituendo il codice personalizzato esistente con il codice della libreria e non sono ancora arrivato al cassetto. Ma non sono sicuro se posso usarlo - richiede un menu, cioè è statico ciò che può presentare, e il mio cassetto è fondamentalmente un RecyclerView le cui voci provengono da un database, il che significa che il suo contenuto è dinamico e completamente sconosciuto a compilare il tempo. Non so ancora se NavigationView supporti questo caso d'uso. – wujek
Il nuovo NavigationView è pensato per andare fino in cima, inclusa la barra di stato. Se vuoi che si mostri più in basso, aggiungi i margini vuoti nella parte superiore. – radley