失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > android 瀑布流StaggeredGridLayoutManager重新排序后 顶部留白处理

android 瀑布流StaggeredGridLayoutManager重新排序后 顶部留白处理

时间:2021-12-24 01:01:36

相关推荐

android 瀑布流StaggeredGridLayoutManager重新排序后 顶部留白处理

StaggeredGridLayoutManager gridLayoutManager = new StaggeredGridLayoutManager(spanCount, StaggeredGridLayoutManager.VERTICAL);gridLayoutManager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);//防止item交换位置//以下三行去掉 RecyclerView 动画代码,防止闪烁((DefaultItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);((SimpleItemAnimator) mRecyclerView.getItemAnimator()).setSupportsChangeAnimations(false);mRecyclerView.getItemAnimator().setChangeDuration(0);方法一:mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {@Overridepublic void onScrollStateChanged(RecyclerView recyclerView, int newState) {super.onScrollStateChanged(recyclerView, newState);gridLayoutManager.invalidateSpanAssignments();//重新布局}@Overridepublic void onScrolled(RecyclerView recyclerView, int dx, int dy) {super.onScrolled(recyclerView, dx, dy);}});

方法二:

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

@Override

public void onScrollStateChanged(RecyclerView recyclerView, int newState) {

// 滑动停止,刷新布局与分割线

if (newState == RecyclerView.SCROLL_STATE_IDLE) {

if (recyclerView.getLayoutManager() instanceof StaggeredGridLayoutManager) {

((StaggeredGridLayoutManager) recyclerView.getLayoutManager()).invalidateSpanAssignments();

recyclerView.invalidateItemDecorations();

}

}

}

});

如果觉得《android 瀑布流StaggeredGridLayoutManager重新排序后 顶部留白处理》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。