Wie blende ich ActionBar beim Scrollen von ListView in Android?

7

Ich muss eine GUI mit einem ListView und einem ActionBar erstellen, die beim Scrollen nach unten verschwinden und beim Scrollen wieder erscheinen müssen.

Die folgenden Anleitungen haben mir nicht geholfen:

Ich brauche so etwas:

    
user4789408 08.07.2015, 10:44
quelle

4 Antworten

16

Wenn Sie eine Liste mit diesem Verhalten erhalten möchten, sollten Sie:

  • fügen Sie die Design-Support-Bibliothek mit compile 'com.android.support:design:22.2.0' hinzu
  • Verwenden Sie eine CoordinatorLayout mit einer Toolbar, in der Sie app:layout_scrollFlags="scroll|enterAlways" definieren müssen
  • Verwenden Sie RecyclerView anstelle von ListView . Wie beschrieben hier ListView und GridView haben das erwartete Verhalten mit dem CoordinatorLayout nur mit API & gt; 21. In diesem Fall müssen Sie setNestedScrollingEnabled(true); verwenden

Der offizielle Blogpost zeigt diesen Fall:

> %Vor%     
Gabriele Mariotti 08.07.2015, 11:32
quelle
6

Ich würde empfehlen, die neue Support-Design-Bibliothek von Google zu verwenden.

Fügen Sie es in Ihre Abhängigkeiten ein:

%Vor%

und verwenden Sie dann AppBarLayout zusammen mit NestedScrollView .

Für Ihre Toolbar define app:layout_scrollFlags="scroll|enterAlways" , die besagt, dass sie beim Scrollen verschwindet und sofort zurückkehrt, wenn Sie nach oben scrollen (was bedeutet, dass Sie nicht ganz nach oben scrollen müssen).

%Vor%

    
Kuba Spatny 08.07.2015 10:46
quelle
1

Sie sollten CoordinatorLayout für diese Aufgabe verwenden. Es ist Teil der Support-Design-Bibliothek. Hier , im CoordinatorLayout und in der App-Leiste Abschnitt, finden Sie ein Beispiel

    
Blackbelt 08.07.2015 10:48
quelle
0

Verwenden Sie [CoordinatorLayout]: Ссылка , die eine Kooridanation zulassen Kinderansichten. Es ist wie, act (AppBarLayout- & gt; Scrolling) auf einer Ansicht, wenn ein Verhalten beobachtet wird (ListView- & gt; Bildlauf) in einer anderen Ansicht.

  1. Machen Sie Listview nestedScrollingEnabled, funktioniert für & gt; API 21

    %Vor%
  2. Löse das Verhalten des Layouts, um das Scrollen zu apparieren.

    %Vor%
  3. Beliebiges Layout (ToolBar / TabLayout / any), das zum Anzeigen / Verbergen / Blättern erforderlich ist, es in AppBarLayout platzieren und das Scroll-Flag aktivieren.

    %Vor%
Annada 19.07.2016 14:41
quelle