如何以编程方式设置RecyclerView的高度?

26

我尝试过,

recyclerview.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT,100));

但它没有起作用。

3个回答

78

尝试像这样设置高度:

ViewGroup.LayoutParams params=recyclerview.getLayoutParams();
params.height=100;
recyclerview.setLayoutParams(params);

这是运行时最佳的解决方案,我没有找到其他方法来动态改变RecyclerView的高度。 - Saqib

10

刚刚遇到同样的问题,虽然ajantha的解决方案有效,但我发现了一个更简单的解决方案。如果这仍然有所帮助,太好了,很高兴能够回报社区。

recyclerView.getLayoutParams().height = 100;

7

嗯,虽然有点晚,但我有一个更好的解决方案。 当你以编程方式创建新的recycler view时,recyclerView.getLayoutParams().height会给你null pointer。以下是一个正确的方法。

RecyclerView.LayoutParams params = new RecyclerView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT,
                ViewGroup.LayoutParams.WRAP_CONTENT);
  recyclerView.setLayoutParams(params);

请记住,第一个参数是width,而第二个参数是height


1
在任何 Android 视图上运行时设置宽度和高度的理想方式是什么? - nadinnnnnne

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接