0

私は今作業中のアプリケーションでViewという階層に問題があります。画面のCoordinatorLayoutのネストされたRecyclerView

一つは、次のようになります。

<CoordinatorLayout> 

    <AppBarLayout> 
     <Toolbar/> 
    </AppBarLayout> 

    <RecyclerView> 
     ... items, some of which are horizontal Recyclers... 
    </RecyclerView> 

</CoordinatorLayout> 

全体的なアイデアは、RecyclerViewコンテンツを下にスクロールしたときにうまくToolbar視差を持つことです。

すべてがうまく機能しますが、前述の視差の動作に問題があります(カスタムAppBarLayout.ScrollingViewBehaviorの実装で行われます)。 - 内と外Toolbar視差

  1. を正常な子供が重視されている場合は、全部が期待通りに動作します。スクロールしたとき

    2例は、どのような項目、ユーザーに応じて、ありますが焦点を当てています。

  2. リサイクラーベースの子にフォーカスがある場合、コンテンツRecyclerViewは期待どおりにスクロールしますが、視差の動作は発生せず、レイアウトは奇妙な中間状態になります。

なぜこれが起こっているのか、正しい動作を取得する方法、つまりイベントはすべてCoordinatorLayoutまで伝えられていますか?あなたのサブrecyclerViewのそれぞれについて

答えて

3

、あなたは(あなたがサブものを作成するためにあなたのメインrecyclerviewのために使用しているものは何でもviewholderからこれを行うことができます)そのRecyclerViewに

setNestedScrollingEnabled(false) 

を呼び出す必要があります。これは現在ネストされたスクロールの既知のバグです。私が推測しなければならないことは、ネストされたスクロール・レイアウトが、スクロール軸を持たない方向にスクロールされた場合、ネストされたスクロール・ノーティファイヤーを親に送信しないことが、それは意味をなさない。

+0

私はこれを既に解決しましたが、解決策はあなたと同じでしたので、ここであなたの受け入れ回答、サー – Kelevandos

関連する問題