In http://www.google.com/design/spec/patterns/scrolling-techniques.html descritte tecniche di scorrimento. Ma non ho trovato dettagli su come implementarlo. Sto cercando di implementare "Spazio flessibile con l'immagine" qualcuno ha un esempio di questo?Android, appcompat v21, implementa tecniche di scorrimento
risposta
Penso che this blog post abbia quello che stai cercando. Offre una guida per creare un layout simile a quello (anche se potrebbe essere necessario aggiungere del codice per colorare la barra dell'app).
La grande idea alla base di questo tipo di "trucco di layout" consiste nell'implementare uno ScrollView
con un listener onScrollChanged
. L'obiettivo è rendere il tuo Activity
consapevole delle modifiche di scorrimento e quindi potrebbe trasformare gli elementi richiesti.
Una volta ottenuto il senso della posizione di scorrimento (e delle modifiche), è possibile utilizzare tale valore come base per applicare la trasformazione del colore (per lo sfondo di ActionBar
) e per ridimensionare il testo dell'intestazione.
Spero che questo aiuti.
penso che questo lib si adatta perfettamente il vostro bisogno:
https://github.com/ksoichiro/Android-ObservableScrollView
Esso comprende tutte le tecniche di scorrimento descritte nelle specifiche di progettazione di Google e altri. Inoltre, fornisce supporto per ListViews
, GridViews
, ScrollViews
, RecyclerViews
e WebViews
.
in ritardo, ma non meno importante,
È necessario utilizzare Android Support Design Library V22 o superiore. Specificamente CoordinatorLayout con Layout e barra degli strumenti AppBar.
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<! -- Your Scrollable View -->
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_behavior="@string/appbar_scrolling_view_behavior" />
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
...
app:layout_scrollFlags="scroll|enterAlways">
<android.support.design.widget.TabLayout
...
app:layout_scrollFlags="scroll|enterAlways">
</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>
come indicato nel Sviluppatore Android Blogpost anche descritta in Video da Ian Lago
Non dimenticare di usare barra degli strumenti al posto di ActionBar – krossovochkin