1
ユーザーがrecyclerviewをスクロールすると、スクロールアップ時にはback_to_topボタンが表示され、スクロールアップ時には表示されず、リストの最後に到達すると表示されます。 OnScrollListenerは次のとおりです。スクロール中にrecyclerviewを振るのを避けるには?
mRecyclerViewHome.addOnScrollListener(new OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int visibleItemCount = layoutManager.getChildCount();
int totalItemCount = layoutManager.getItemCount();
int pastVisibleItems = layoutManager.findFirstVisibleItemPosition();
if (pastVisibleItems + visibleItemCount >= totalItemCount) {
mButtonLoadMore.setVisibility(View.VISIBLE);
Log.i(TAG, "reach bottom detected");
}
// TODO: 7/20/2017 remove shaking
if (dy < 0) { // scrolling up
mButtonLoadMore.setVisibility(GONE);
mButtonToTop.setVisibility(VISIBLE);
}
if (dy > 0) {
mButtonToTop.setVisibility(GONE);
}
}
});
このコードは機能します。しかし、問題は、もしリサイクラビューがスクロールしていてまだ止まっていない間に、私が中断して画面に触れ、別のスクロールジェスチャをすると、リサイクルビューの動きが動いているということです。私はそれがコードのdyパラメータを使用しているので、dyの値を追跡して、表示が揺れてしまうので、それはだと思いますか?ユーザーが上下にスクロールしているかどうかを検出しながら、この揺れを避けるためにとにかくありますか?
を無効にしてみてくださいすることができます。それは、アニメーションのようなものではなく、無秩序のように振る。 – Robin