RecyclerView隐藏部分item后,有大部分空白,滑动到空白没隐藏的就看不到了。所以隐藏item后通过设置item高度为0隐藏空白,解决隐藏后的item占位问题。
代码:
//解决item隐藏占位问题,隐藏item设置其高度为0
RecyclerView.LayoutParams param = (RecyclerView.LayoutParams) ll_root.getLayoutParams();
if (data.isShow()) {
ll_root.setVisibility(View.VISIBLE);
param.height = LinearLayout.LayoutParams.WRAP_CONTENT; // 根据具体需求场景设置
param.width = LinearLayout.LayoutParams.MATCH_PARENT;
} else {
ll_root.setVisibility(View.GONE);
param.height = 0;
param.width = 0;
}
ll_root.setLayoutParams(param);