/ / Android - ビューページごとのリサイクルビューベースでスクロールするappbarを有効にする - android、android-viewpager、android-recyclerview、android-coordinatorlayout

Android - ビューページのリサイクルビュー単位でスクロールするappbarを有効にする - android、android-viewpager、android-recyclerview、android-coordinatorlayout

私はRecyclerviewを含む2つのタブを持つViewPagerを持っています。 私はサポートライブラリ22.2.0(AppCompat、Recyclerビュー...)を使用しています。 私のビューページのXMLは、最初は:

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

私は、アプリケーションバーを有効/無効にしたいと思いますビューページ全体ではなく、タブ/リサイクルビュー単位でスクロールします。つまり、 あるタブ/ recyclerviewはスクロールし、他のタブ/ recyclerviewは「t」になります。

この問題は、私が

app:layout_behavior="@string/appbar_scrolling_view_behavior"

viewpagerからデフォルトのlayout_behaviorがviewpagerに適用されますが、tab / recyclerviewの両方でappbarスクロールを有効にします。

私の戦略は、viewpagerでのappbarのスクロールを非アクティブにすることです。

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

そして私の最初のタブ/リサイクルビューでのみ有効にしてください。このような :

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

しかし、 "@ string / appbar_desactivated_behavior"のクラスが必要です。 それは存在しますか?そうではない、それを書く方法は?それとも、別の戦略について考えますか? 前もって感謝します。

回答:

回答№1は0

あなたが ViewPager、appbar_scrolling_view_behaviorを設定する必要があります ViewPager 適切なレイアウトのために。

あなたがしなければならないのは、 RecyclerView あなたはアプリケーションバーをスクロールしたくありません:

        recyclerview.setNestedScrollingEnabled(false);

ポジショニングに問題がある可能性がありますあなたは、recyclerviewの底にアプールサイズのマージンを入れなければならないかもしれません。また、ユーザーが他のrecyclerviewでappbarをスクロールしてからこのrecyclerviewにスワイプすると、ページの下部にスペースが表示されます。