2 つの のスクロール位置を同期する必要がありScrollViewsます。
どちらにもScrollViews個人が含まれていますRecyclerView(設計要件により、同じ ScrollView 内に配置することはできません)。
どうすればそれを達成できますか?
2 つの のスクロール位置を同期する必要がありScrollViewsます。
どちらにもScrollViews個人が含まれていますRecyclerView(設計要件により、同じ ScrollView 内に配置することはできません)。
どうすればそれを達成できますか?
を介しRecyclerView.OnScrollListenerて両方にを取り付けます。RecyclerViewsaddOnScrollListener(RecyclerView.OnScrollListener listener)
経由でイベントが発生したときに、もう一方の位置を更新しますscrollTo(int x, int y)。
RecyclerViewsユーザーがトリガーしたスクロールとプログラムによるスクロール (他のイベントから) を何らかの方法で区別することを忘れないでください。
1 つの方法は、Ugurcan Yildirimが提案したように、更新するリスナーをデタッチするScrollViewことです。
もう 1 つのオプションはブール値のフラグisUserTriggeredです。3 番目の方法は、どの ScrollView が現在区別するフォーカスを持っているかを判断することです (こちらを参照)。