ActionBar beim scrollen sichtbar machen

  • 9 Antworten
  • Letztes Antwortdatum
joshua1996

joshua1996

Stamm-User
111
Ich bin grade dabei eine Activity zu schreiben, und hätte gerne eine Actionbar, die wie zum Beispiel bei Play Musik, am Anfang transparent ist, und dann beim scrollen sichtbar.

Die Activity soll dazu Daten über JSON aus einer Datenbank lesen (tut sie Problemlos ;) ), und in der Activity darstellen.
Ganz oben soll das Profilbild vom User dargestellt werden, und da hätte ich gerne eine transparente Actionbar die sich beim scrollen einfärbt.
Nur weiß ich nicht nach was ich suchen muss, wenn ich nach transparenten Actionbars suche, finde ich nur welche die permanent Teilweise durchsichtig sind...

Weiß wer nach was ich googlen muss, oder hat wer eventuell ein Link zu einem guten Tutorial?

Ich sag schon mal danke ;)
 
Das wäre ja nur der erste Schritt, um den ImageView hinter die Actionbar zu bekommen...
Jetzt bräuchte ich ja nur einen Weg um die Actionbar tranzparenz zu verändern

Sowas meine ich ;)
 

Anhänge

  • Screenshot_2014-04-03-18-51-25.png
    Screenshot_2014-04-03-18-51-25.png
    71,1 KB · Aufrufe: 288
  • Screenshot_2014-04-03-18-51-31.png
    Screenshot_2014-04-03-18-51-31.png
    57,1 KB · Aufrufe: 231
Code:
actionBar.setStackedBackgroundDrawable()
 
  • Danke
Reaktionen: joshua1996
Ich denke du meintest

Code:
[URL="http://developer.android.com/reference/android/app/ActionBar.html#setBackgroundDrawable%28android.graphics.drawable.Drawable%29"]actionbar.setBackgroundDrawable[/URL]([URL="http://developer.android.com/reference/android/graphics/drawable/Drawable.html"]Drawable[/URL] d)

setStackedBackgroundDrawable() ist für die stacked action bar (tabs).
 
  • Danke
Reaktionen: joshua1996
Das ich ein Bild bzw Drawable als Hintergrund nehmen kann weiß ich.
Ich könnte ja auch in dem Drawable die transparenz ändern, um sie unsichtbar zu machen...
Aber ich bräuchte dann eine Methode, wie ich der ActionBar sage, wann und wie viel sie sie unsichtbar wird...
 
Zugriff auf die action bar bekommst du in einer Activity mit der Methode getActionBar() (ab API 11 - für apps vor api 11 muss du die support-libraries benutzen).


In der Methode in der Activity, wo du deinen player startest, rufst du einfach noch die Methode
Code:
[URL="http://developer.android.com/reference/android/app/ActionBar.html#setBackgroundDrawable%28android.graphics.drawable.Drawable%29"][I]getActionBar()[/I].setBackgroundDrawable[/URL]([URL="http://developer.android.com/reference/android/graphics/drawable/Drawable.html"]Drawable[/URL] d)
auf. Damit veränderst du dann den Hintergrund der Actionbar.
 
  • Danke
Reaktionen: joshua1996
Wie ich die ActionBar ändere weiß ich, soll heißen Farben, Namen usw kann ich ja.
Nur wie sage ich der Actionbar, das sie beim scrollen den Hintergrund bzw die Transparenz ändert?

Heißt ich bräuchte sowas wie einen "onScrollListener" ;)
Der guckt ob gescroll wurde, damit sich die Bar einfärbt.
Oder gibt es einen anderen (einfachen) Weg dafür?
 
Denke du müsstest die touch events deiner Liste (ScrollView?, ListView?) mit einen Listener abfragen.
 
  • Danke
Reaktionen: joshua1996
Für listView gibts einen onScrollListener. damit kannst du in onScroll die Transparenz der ActionBar in Abhängigkeit der Scrollposition ändern

Gesendet von meinem Nexus 5 mit der Android-Hilfe.de App
 
Zurück
Oben Unten