0

2 つの のスクロール位置を同期する必要がありScrollViewsます。

どちらにもScrollViews個人が含まれていますRecyclerView(設計要件により、同じ ScrollView 内に配置することはできません)。

どうすればそれを達成できますか?

4

3 に答える 3

0

を介しRecyclerView.OnScrollListenerて両方にを取り付けます。RecyclerViewsaddOnScrollListener(RecyclerView.OnScrollListener listener)

経由でイベントが発生したときに、もう一方の位置を更新しますscrollTo(int x, int y)

RecyclerViewsユーザーがトリガーしたスクロールとプログラムによるスクロール (他のイベントから) を何らかの方法で区別することを忘れないでください。

1 つの方法は、Ugurcan Yildirimが提案したように、更新するリスナーをデタッチするScrollViewことです。

もう 1 つのオプションはブール値のフラグisUserTriggeredです。3 番目の方法は、どの ScrollView が現在区別するフォーカスを持っているかを判断することです (こちらを参照)。

于 2016-08-08T13:32:39.737 に答える