これを達成するために、ページのレイアウトはこれです。
赤い箱の絵の焦点。
CoordinatorLayout FramLayoutも、所属する独自の内部持つLayoutParamsのコンストラクタ呼び出しparseBehavior反射によって得られた分析動作プロパティ、行動文字列は対応するクラス名、およびインスタンス化します。CoordinatorLayoutは、相互作用のメカニズムをスライド親と子ビューネストされた、ネストされたビューでスライド機構。親ビューを達成するためにNestedScrollingParentインターフェイス、サブビュー実現NestedScrollingChildのインターフェイスを、次いで、各々が実装NestedScrollingHelperのヘルパークラス、対話型ヘルパービューと親ビューを。イベントはrecycleView摺動開始、イベントをコールした場合に滑り落ちstartNestedScrollのメソッド呼び出しNestedScrollingHelperのstartNestedScrollの方法を、次に呼び出すViewParentCompatのonStartNestedScrollの方法を、親呼び出しビュー(CoordinatorLayout)のonStartNestedScrollを全体にわたって、CoordinatorLayoutサブビュー、layoutParamsのサブビューを取得し、getBehaviorのlayoutParamsを呼び出しは、取得から継承された動作サブクラスのサブクラスを呼び出し、onStartNestedScroll、内部及び非表示の表示処理図。
処理動作のカスタムビューをカスタマイズすることができた場合は、クラスから継承し、CoordinatorLayout.Behavior公共ScaleBehavior(コンテキストコンテキスト、属性セットのattrsを達成するために ) 、2つの引数のコンストラクタをパブリックブールonStartNestedScroll(@NonNull CoordinatorLayout coordinatorLayout、上書き @NonNull Vの子を、@ NULL以外のビューdirectTargetChild、@NonNullビューターゲット、軸、int型をint型) 方法とtrueを返します、
そして公共のボイドonNestedScrollを書き換える(@NonNull CoordinatorLayout coordinatorLayout、@NonNull Vの子、@NonNullビューターゲット、int型dxConsumed、int型dyConsumed、int型dxUnconsumed、int型dyUnconsumed、int型タイプ)アニメーションを表示する方法、などが挙げられます。