gpt4 book ai didi

android - 在回收站 View 中滚动隐藏/显示时查看闪烁

转载 作者:行者123 更新时间:2023-11-30 01:42:56 24 4
gpt4 key购买 nike

我在底部有线性布局,我想在向上滚动时隐藏该 View 并在向下滚动时显示。我能够通过 recycler view 上的滚动监听器实现这一点。但是有一个问题,当您滚动时,缓慢的 View 会闪烁(快速显示和隐藏)。

这是我的代码

bottom = (LinearLayout) getActivity().findViewById(R.id.linerabottom);
recycleList.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (dy > 0) {
bottom.setVisibility(View.GONE);

} else {
bottom.setVisibility(View.VISIBLE);
}

}
});

这是问题的视频 https://goo.gl/photos/TwUJjmPUA4kJCsaR8 .

你能帮我找出问题所在吗?谢谢。

最佳答案

这很正常,因为您的 dy在某个时间点在 dy >= 0 之间波动和 dy < 0 .如果你想实现某种快速返回 View ,你应该将它绑定(bind)到这样的东西:

 recycleList.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
mTotalDy += dy;
if (dy > 0 && mTotalDy >= bottom.getHeight()) {
bottom.setVisibility(View.GONE);

} else if(recyclerView.getScrollState() == RecyclerView.SCROLL_STATE_IDLE && bottom.getVisiblity() == View.GONE) {
bottom.setVisibility(View.VISIBLE);
mTotalDy = 0;
}

}
});

关于android - 在回收站 View 中滚动隐藏/显示时查看闪烁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34190748/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com