7

RecyclerView を上にスクロールすると非表示になり、下にスクロールすると再び表示される LinearLayout があります。ツールバーの非表示と再表示と同じように動作する必要があります。

これは私がこれまでに持っているものです:

<android.support.design.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

   <LinearLayout
        android:id="@+id/viewToHideOnScroll
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <!-- other stuff inside the LinearLayout -->

   </LinearLayout>

   <RecyclerView
        android:id="@+id/recyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

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

これまでに理解できたことから、on のスクロール イベントに応じてビューの内外をスムーズにスクロールするように、app:layout_behavioron の値を指定できます。これを行うには、カスタム クラスとオーバーライド、およびその他のメソッド ( ?) を作成する必要があります。viewToHideOnScrollrecyclerViewViewToHideOnScrollBehaviorlayoutDependsOnonNestedScroll

それが正しければ、ここに私が持っているものがあります:

public class ViewToHideOnScrollBehavior extends CoordinatorLayout.Behavior<LinearLayout> {

public ViewToHideOnScrollBehavior(Context context, AttributeSet attrs) {}

    @Override
    public boolean layoutDependsOn(CoordinatorLayout parent, LinearLayout child, View dependency) {
        return dependency instanceof RecyclerView;
    }

    // some other method to override, I don't know
}

誰かが私にヒントを与えることができますか、それとも私はこれをすべて間違っていますか?

私はhttps://lab.getbase.com/introduction-to-coordinator-layout-on-android/をフォローしています

4

1 に答える 1