在我的应用中,我想动态增加回收站视图的高度。当我在投诉中添加新项目时,回收者视图的高度应该增加。有办法吗?请帮我解决一下这个。提前致谢。
git checkout test
git pull origin master
git push origin test
答案 0 :(得分:6)
遇到同样的问题,我在RecyclerView
内wrap_content
使用LinearLayout
,我将LinearLayout
更改为RelativeLayout
并设置RecyclerView
基于儿童的身高。
答案 1 :(得分:0)
这对你有用
RecyclerView mRecyclerView
= (RecyclerView) findViewById(R.id.complaint_recycler_view);
int originalItemSize = iteList.size();
ViewGroup.LayoutParams params = mRecyclerView.getLayoutParams();
if (itemList.size() > originalItemSize ){
params.height = params.height + 100;
originalItemSize = itemList.size();
mRecyclerView.setLayoutParams(params);
}
答案 2 :(得分:0)
我建议您将recyclerview放在任何其他布局中(最好是相对布局)。然后将recyclerview的高度/宽度更改为该布局的父对象,并将父布局的高度/宽度设置为包装内容。它对我有用
答案 3 :(得分:-1)
如果您希望recyclerView参与屏幕,则WRAP_CONTENT将无效。 如果您希望其他内容位于recyclerView下面,您可以将recyclelerView放在LinearLayout中,并使用以下代码动态更改高度。
我假设您使用列表(complaints_list)来存储投诉。相应地调整投诉_高度
ViewGroup.LayoutParams params = mRecyclerView.getLayoutParams();
int complaint_height=400;
if (complaints_list.size() > 2) {
params.height = ((complaint_list.size() - 1) * 100) + complaint_height;
} else {
params.height = complaint_height+100;
}
mRecyclerView.setLayoutParams(params);