Wie kann man ActionBar beim Scrollen von ListView in Android ausblenden?

Ich muss eine GUI mit einem ListView und einer ActionBar die sich beim Scrollen ausblenden wird, und beim Scrollen muss es wieder erscheinen.

Die folgenden Führer haben mir nicht geholfen:

  • Android-SDK-Manager zeigt keine Pakete an, die installiert werden sollen
  • Android Studio minSdkVersion und targetSdkVersion Warnung
  • Wie teste ich den Code zum Speichern / Wiederherstellen von Lebenszyklus einer Aktivität?
  • Was sind uri, contentValues
  • Neue KitKat-URIs reagieren nicht auf Intent.ACTION_VIEW
  • EditText-Cursor in der oberen linken Position.
    • Https://mzgreen.github.io/2015/06/23/How-to-hideshow-Toolbar-when-list-is-scrolling%28part3%29/
    • Https://github.com/ksoichiro/Android-ObservableScrollView

    Ich brauche so etwas:

    Bildbeschreibung hier eingeben

  • Eclipse Content Assist Error
  • Der Import com.google.android.gms.location.LocationClient kann nach dem Formatieren des Computers nicht behoben werden
  • Animationen und Festlegung
  • TextView Animation - verblassen, warten, verblassen
  • In Android sollte ein Kontakt-Sync-Adapter in einem separaten Prozess laufen?
  • Gradle für Android AAR abhängig von AAR, Beide im gleichen Remote Repository?
  • 4 Solutions collect form web for “Wie kann man ActionBar beim Scrollen von ListView in Android ausblenden?”

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

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

    Der offizielle Blogpost zeigt diesen Fall:

     <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.AppBarLayout> </android.support.design.widget.CoordinatorLayout> 

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

    Füge es in deine Abhängigkeiten ein:

     compile 'com.android.support:design:22.2.0' 

    Und benutze das AppBarLayout zusammen mit NestedScrollView .

    Für deine Toolbar definiere die app:layout_scrollFlags="scroll|enterAlways" , was bedeutet, dass es beim Blättern verschwindet und sofort zurückkommt, wenn du nach oben app:layout_scrollFlags="scroll|enterAlways" (was bedeutet, dass du nicht ganz nach oben scrollen musst).

     <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <android.support.v7.widget.Toolbar android:id="@+id/toolbar" android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" android:background="?attr/colorPrimary" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_scrollFlags="scroll|enterAlways" /> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="fill_vertical" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent"/> </android.support.v4.widget.NestedScrollView> 

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

    Verwenden Sie [CoordinatorLayout]: https://developer.android.com/reference/android/support/design/widget/CoordinatorLayout.html , die Co-Oridanation unter den untergeordneten Ansichten ermöglichen. Es ist wie, Act (AppBarLayout-> Scrolling) auf einige Ansicht, wenn es ein Verhalten beobachtet (ListView-> scroll) in einer anderen Ansicht.

    1. Make Listview nestedScrollingEnabled, funktioniert für> API 21

       android:nestedScrollingEnabled="true" 
    2. Trigger-Layout-Verhalten zum Appbar-Scrollen.

       android:nestedScrollingEnabled="true" app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    3. Jedes Layout (ToolBar / TabLayout / any), das zum Einblenden / Scrollen benötigt wird, platziert es in AppBarLayout und aktiviert das Scroll-Flag.

       app:layout_scrollFlags="scroll|enterAlways" 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.