Im folgenden ist der code, den ich verwendet, in der app ich arbeite
Verwenden Sie die OnScrollChanged Funktion in Ihrem ScrollView. ActionBar lässt Sie nicht setzen Sie die Deckkraft , so einen hintergrund drawable auf die actionbar und man kann seine durchsichtigkeit ändern, basiert auf der Menge von Blättern in der scrollview. Ich habe ein Beispiel gegeben workflow
Legt die Funktion gibt den entsprechenden alpha für die Ansicht locationImage basierend auf seiner position WRT Fenster .
this.getScrollY() gibt an, wie viel die scrollView hat gescrollt
publicvoidOnScrollChanged(int l,int t,int oldl,int oldt){//Code ...
locationImage.setAlpha(getAlphaForView(locationImageInitialLocation-this.getScrollY()));}privatefloat getAlphaForView(int position){int diff =0;float minAlpha =0.4f, maxAlpha =1.f;float alpha = minAlpha;//min alphaif(position > screenHeight)
alpha = minAlpha;elseif(position + locationImageHeight < screenHeight)
alpha = maxAlpha;else{
diff = screenHeight - position;
alpha +=((diff *1f)/ locationImageHeight)*(maxAlpha - minAlpha);//1f and 0.4f are maximum and min//alpha//this will return a number betn 0f and 0.6f}//System.out.println(alpha+" "+screenHeight +" "+locationImageInitialLocation+" "+position+" "+diff);return alpha;}
Aktivieren der overlay-Modus für das action-bar, die Sie benötigen, um ein benutzerdefiniertes Design erstellt, erweitert eine bestehende Aktionsleiste Thema und stellen Sie das android:windowActionBarOverlay-Eigenschaft auf true.
Für Android 3.0 und höher nur
Wenn Ihr minSdkVersion gesetzt ist 11 oder höher, werden Ihre benutzerdefinierten Thema verwenden sollten Thema.Holo-theme (oder einer seiner Nachkommen) als Ihre übergeordneten Thema. Zum Beispiel:
<resources><!-- the theme applied to the application or activity --><stylename="CustomActionBarTheme"parent="@android:style/Theme.Holo"><item name="android:windowActionBarOverlay">true</item></style></resources>
Für Android 2.1 und höher
Wenn Ihre app mithilfe der Support-Bibliothek für die Kompatibilität auf Geräten mit Versionen niedriger als Android 3.0, das benutzerdefinierte Design verwenden soll, Thema.AppCompat Thema (oder einer seiner Nachkommen) als Ihre übergeordneten Thema. Zum Beispiel:
<resources><!-- the theme applied to the application or activity --><stylename="CustomActionBarTheme"parent="@android:style/Theme.AppCompat"><item name="android:windowActionBarOverlay">true</item><!-- Support library compatibility --><item name="windowActionBarOverlay">true</item></style></resources>
Layout angeben Top-Marge
Wenn die action bar ist in overlay-Modus, es könnte verdecken einige Ihrer layout-das sollte sichtbar bleiben. Um sicherzustellen, dass solche Elemente bleiben unter der action-bar zu allen Zeiten, fügen Sie entweder margin oder padding nach oben der Ansicht(en) über die Höhe angegeben actionBarSize. Zum Beispiel:
Bearbeiten:
Es ist ein open-source-Bibliothek ObservableScrollView mit einer Menge von open-source-demos mit verschiedenen ActionBar-Effekte, einschließlich die, die Sie erwähnt. Es ist eine großartige Ressource: https://github.com/ksoichiro/Android-ObservableScrollView.
Wenn Sie eine CoordinatorLayout in Ihrem layout-xml-sollten Sie checkout dieser Artikel beschreiben, wie Sie zu behandeln Schriftrollen und andere Ansichten auf Sie reagieren.
Es ist ein Beispiel das vollenden, was Sie gefragt, wenn Sie fügen Sie Ihre Bildansicht als Kind der CollapsingToolbarLayout die ganze Magie geschieht automatisch, und Sie können auch einige Parameter wie z.B. die Stoff-Farbe, minimale Höhe zu starten zusammenbricht, etc:
Im folgenden ist der code, den ich verwendet, in der app ich arbeite
Verwenden Sie die
OnScrollChanged
Funktion in IhremScrollView
.ActionBar
lässt Sie nicht setzen Sie die Deckkraft , so einen hintergrund drawable auf die actionbar und man kann seine durchsichtigkeit ändern, basiert auf der Menge von Blättern in der scrollview. Ich habe ein Beispiel gegeben workflowLegt die Funktion gibt den entsprechenden alpha für die Ansicht locationImage basierend auf seiner position WRT Fenster .
this.getScrollY()
gibt an, wie viel diescrollView
hat gescrolltEDIT : ich habe ein Beispiel Beispiel arbeiten an https://github.com/ramanadv/fadingActionBar , können Sie einen Blick auf Sie.
InformationsquelleAutor der Antwort CommandSpace
Bitte überprüfen Sie diese Bibliothek https://github.com/ManuelPeinado/FadingActionBardie sich um die coolen fading-action-bar-Effekt, den Sie möchten
InformationsquelleAutor der Antwort shaobin0604
Dieser Bibliothek können für die animation https://github.com/ksoichiro/Android-ObservableScrollView
InformationsquelleAutor der Antwort mustafasevgi
Offizielle Google DeveloperDocumentation
action bar im overlay-Modus.
Aktivieren Der Overlay-Modus
Aktivieren der overlay-Modus für das action-bar, die Sie benötigen, um ein benutzerdefiniertes Design erstellt, erweitert eine bestehende Aktionsleiste Thema und stellen Sie das android:windowActionBarOverlay-Eigenschaft auf true.
Für Android 3.0 und höher nur
Wenn Ihr minSdkVersion gesetzt ist 11 oder höher, werden Ihre benutzerdefinierten Thema verwenden sollten Thema.Holo-theme (oder einer seiner Nachkommen) als Ihre übergeordneten Thema. Zum Beispiel:
Für Android 2.1 und höher
Wenn Ihre app mithilfe der Support-Bibliothek für die Kompatibilität auf Geräten mit Versionen niedriger als Android 3.0, das benutzerdefinierte Design verwenden soll, Thema.AppCompat Thema (oder einer seiner Nachkommen) als Ihre übergeordneten Thema. Zum Beispiel:
Layout angeben Top-Marge
Wenn die action bar ist in overlay-Modus, es könnte verdecken einige Ihrer layout-das sollte sichtbar bleiben. Um sicherzustellen, dass solche Elemente bleiben unter der action-bar zu allen Zeiten, fügen Sie entweder margin oder padding nach oben der Ansicht(en) über die Höhe angegeben actionBarSize. Zum Beispiel:
InformationsquelleAutor der Antwort Cristiana Chavez
Gibt es offizielle Unterlagen, wie um diesen Effekt zu erreichen:
https://developer.android.com/training/basics/actionbar/overlaying.html
Bearbeiten:
Es ist ein open-source-Bibliothek ObservableScrollView mit einer Menge von open-source-demos mit verschiedenen ActionBar-Effekte, einschließlich die, die Sie erwähnt. Es ist eine großartige Ressource: https://github.com/ksoichiro/Android-ObservableScrollView.
InformationsquelleAutor der Antwort Fabian Frank
Wenn Sie eine CoordinatorLayout in Ihrem layout-xml-sollten Sie checkout dieser Artikel beschreiben, wie Sie zu behandeln Schriftrollen und andere Ansichten auf Sie reagieren.
Es ist ein Beispiel das vollenden, was Sie gefragt, wenn Sie fügen Sie Ihre Bildansicht als Kind der CollapsingToolbarLayout die ganze Magie geschieht automatisch, und Sie können auch einige Parameter wie z.B. die Stoff-Farbe, minimale Höhe zu starten zusammenbricht, etc:
InformationsquelleAutor der Antwort MiichaelD
Mit AbsListView scroll-Hörer, die wir erreichen können, für das listview-Steuerelement einfach, ohne andere komplizierte Bibliothek oder ScrollView
set scroll-listener-Liste anzeigen
//Hinweis : vergessen Sie nicht, rufen **setActionBarRefernce Methode ** der benutzerdefinierten listener
InformationsquelleAutor der Antwort sujith s
Auf webView:
InformationsquelleAutor der Antwort SmallSani