【问题标题】:Making a RecyclerView or ListView expand in order to accomodate all items使 RecyclerView 和 ListView 展开以容纳所有项目
【发布时间】:2017-12-17 13:48:00
【问题描述】:

我在ScrollView 里面有RecyclerView。在用户的交互项目被添加到RecyclerView。我希望RecyclerView 展开以显示所有项目,并且滚动应仅由ScrollView 处理。

问题:即使RecyclerView 的高度设置为wrap_content,在添加了几个项目后,它不再展开并变为可滚动。

有没有办法强制RecyclerView(或ListView)展开以便一次显示所有项目?

附:我知道我可以获得类似的行为,例如LinearLayoutScrollView 内,但目前我不想实施变通方法。

【问题讨论】:

  • 嵌套可滚动容器是一种反模式。你会遇到滚动冲突问题。
  • 此外,如果它显示所有视图,它将不再是循环视图。
  • 各位,感谢您指出这一点。但是,我的问题是“如何做到这一点”,而不是“为什么不这样做”。
  • 但是“这样做有什么意义”?如果所有项目一次都可见,则根本不会滚动。
  • 您是否尝试过使用NestedScrollView

标签: android listview android-recyclerview


【解决方案1】:

正如它所暗示的,我们在顶部有一个具有固定高度的ScrollViewmatch_parent。在与其父级匹配的视图内。对于滚动,请禁用您在里面使用的ViewcanScrollVertically() 中的滚动。

【讨论】:

  • 小说明:canScrollVertically() 应该在 LayoutManager 中被覆盖并返回 false
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-28
  • 2019-02-13
  • 1970-01-01
  • 1970-01-01
  • 2011-02-14
相关资源
最近更新 更多