7

Ich habe einen ViewPager mit 2 Registerkarten mit einem Recyclerview. Ich verwende Support-Bibliotheken 22.2.0 (AppCompat, Recycler-Ansicht ...). Mein viewpager xml ist zunächst:Android - Aktivieren Sie die Appbar Scrollen auf einem pro Viewpager Recyclerview Basis

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

Ich mag würde aktivieren/desaktivieren die appbar Reiter verfügt über ein/recyclerview Basis statt auf ganze viewpager Basis Scrollen, das heißt, eine Lasche/recyclerview die appbar machen Scrollen und die andere Registerkarte/Recyclerview wird nicht.

Dieses Problem ist, dass, wenn ich

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

von viewpager Standard layout_behavior entfernen wird an viewpager die noch appbar scroll auf beiden Reiter/recyclerview aktiviert.

Meine Strategie ist es, die appbar Scrollen in viewpager, vielleicht etwas zu desaktivieren:

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

Und es auf meinem ersten Reiter/recyclerview nur aktivieren. Wie folgt aus:

<android.support.v7.widget.RecyclerView 
    ... 
    android:id="@+id/playlist1_rv" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
</android.support.v7.widget.RecyclerView> 

Aber ich brauche eine Klasse für "@ Zeichenfolge/appbar_desactivated_behavior". Existiert es? Ist nicht, wie man es schreibt? Oder denken Sie über eine andere Strategie nach? Vielen Dank im Voraus.

Antwort

0

Wenn Sie eine ViewPager verwenden, muss das appbar_scrolling_view_behavior auf ViewPager für das richtige Layout festgelegt werden.

Alles, was Sie tun müssen, ist verschachtelte Scrollen im RecyclerView deaktivieren, die Sie nicht wollen, die App-Leiste blättern:

 recyclerview.setNestedScrollingEnabled(false); 

Beachten Sie, dass Sie Probleme mit der Positionierung haben, und Sie können setzen müssen ein appbargroßer Rand am Ende der Recycleransicht. Und wenn Ihr Benutzer die Appbar mit der anderen Recycleransicht scrollt und dann zu dieser Recycleransicht wippt, wird unten auf der Seite ein Leerzeichen angezeigt.

Verwandte Themen