在项目添加上动态增加recyclerview的高度

时间:2016-10-04 09:17:49

标签: android android-recyclerview

Display pic

在我的应用中,我想动态增加回收站视图的高度。当我在投诉中添加新项目时,回收者视图的高度应该增加。有办法吗?请帮我解决一下这个。提前致谢。

git checkout test
git pull origin master
git push origin test

4 个答案:

答案 0 :(得分:6)

遇到同样的问题,我在RecyclerViewwrap_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);