需求要把recycleview的其中一個條目隱掉,把內容隱藏,出現空白區域,item高度不會改變。
解決:把 item 的高度寬度設置爲 0 來隱藏。
// 防止隱藏item出現空白
public void setVisibility(boolean isVisible, View itemView) {
RecyclerView.LayoutParams param = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
if (isVisible) {
param.height = RelativeLayout.LayoutParams.WRAP_CONTENT;
param.width = RelativeLayout.LayoutParams.MATCH_PARENT;
itemView.setVisibility(View.VISIBLE);
} else {
param.height = 0;
param.width = 0;
itemView.setVisibility(View.GONE);
}
itemView.setLayoutParams(param);
}