5

Ich versuche Toolbar und TabLayout zu implementieren, in dem man beim Scrollen im Recyclet die Symbolleiste wie bei der Whatsapp-Anwendung ausblenden sollte. Ich verweise google Blog und Michal Z's Blog. Ich habe Ansichtpager in Haupttätigkeit und ich zeige Liste der Daten innerhalb es mit recycleview an.Die Symbolleiste scrollt nicht ab, auch wenn sie "app: layout_scrollFlags" anzeigt

Ehrlich gesagt war ich von der neuen Google Design-Bibliothek überwältigt, denn mit nur einer Zeile XML-Code kann das gesamte UI- und UI-Verhalten geändert werden. Idealerweise für diese Funktionalität müssen wir app:layout_scrollFlags="scroll|enterAlways" Zeile in der Symbolleiste hinzufügen und es funktioniert einfach. Aber für mich funktioniert es nicht. Ich habe es auf API 19 und 21 Geräten getestet.

Indem sie durch questionquestion auf Stack-Überlauf und verschiedenen BlogBlog i gefundene2 Weg, um diese Funktionalität 1. indem Scroll-Hörer, indem scrollbaren Inhalt in NestedScrollView recycleview und 2 zu erreichen. Aber es hat nicht wie erwartet funktioniert.

Ich denke, es sollte funktionieren, ohne Code zu schreiben.

Haupt Activity.xml

<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"> 

    <android.support.design.widget.AppBarLayout 
     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:background="@color/colorPrimary" 
      android:layout_height="?attr/actionBarSize" 
      app:layout_scrollFlags="scroll|enterAlways" 
      app:popupTheme="@style/Base.ThemeOverlay.AppCompat.Dark"/> 

     <android.support.design.widget.TabLayout 
      android:id="@+id/sliding_tabs" 
      android:background="@color/colorPrimaryDark" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" /> 

    </android.support.design.widget.AppBarLayout> 

    <android.support.v4.view.ViewPager 
     android:id="@+id/viewpager" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     app:layout_behavior="@string/appbar_scrolling_view_behavior"/> 

</android.support.design.widget.CoordinatorLayout> 

ViewPagerFragment.xml

<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/swipe_refresh_layout" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@color/windowBackground"> 

    <android.support.v7.widget.RecyclerView 
     android:id="@+id/order_list" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_alignParentTop="true" 
     android:layout_alignParentLeft= "true" 
     android:layout_alignParentStart="true" 
     android:layout_above="@+id/txtStatus" /> 

</android.support.v4.widget.SwipeRefreshLayout> 
+0

Bitte posten Sie Ihre Datei 'build.gradle'. – Mikhail

Antwort

4

Ihr Layout scheint korrekt zu sein.
Überprüfen Sie, ob in Ihrem build.gradle Version von recyclerView genau ist 22.0.122.2.0 und buildToolsVersion ist. Sie müssen es tun, da all diese neuen Funktionen in der 22.2.0-Version der Support-Bibliothek wie erwähnt here erschienen sind.

+0

buildToolsVersion ist 22.0.1, aber ich habe "v7: 22.0. +" Version für recycleview verwendet. Jetzt habe ich es in 22.2.0 geändert und es funktioniert wie erwartet. Danke Arkadia –

+1

Ich benutze v7: 23.3.0 aber es funktioniert nicht einige Zeit für mich –