【问题标题】:Android only setStackFromEnd only if RecycleView/List is larger than screen仅当 RecycleView/List 大于屏幕时,Android 才 setStackFromEnd
【发布时间】:2017-07-02 17:24:36
【问题描述】:

我有一个 RecyclerView 我想开始显示底部项目,所以我正在使用: myLayoutManager.setStackFromEnd(true).

当有足够的项目填满屏幕时,它就像我想要的那样工作,但如果 R​​ecyclerView 中只有几个项目,它会将它们向下推并在屏幕顶​​部留下空白空间

如果 RecyclerView 大于屏幕高度,有什么方法可以防止这种情况发生,或者只有setStackFromEnd

这是我得到的和我想要得到的一个例子:

【问题讨论】:

  • 您使用哪种语言? Java 还是 Kotlin?
  • Kotlin,但我会用 Java 来回答,因为它们本质上是一样的
  • android:layout_height="wrap_content" 应用到RecyclerView 怎么样?

标签: android android-recyclerview kotlin


【解决方案1】:

根据您的描述,我假设您已将RecyclerView 高度设置为match_parent

因此,您所看到的只是常规行为。当setStackFromEnd 未设置为true 时,您的RecyclerView 从顶部填充其视图(如图所示)。但是,当您从末尾设置堆栈时,会发生相反的行为。因此,您会看到顶部的空白区域。

为了删除空白,我建议您将RecyclerView 布局高度设置为wrap_contentwrap_content 是在 Android Support Library 23.2 中为 RecyclerView 引入的。因此,您的 RecyclerView 布局只会根据子视图的数量占用它所需的空间。

此外,根据您要达到的目标,您还可以考虑setReverseLayout(true)。希望这会有所帮助!

【讨论】:

  • 您好,我已将我的 RecyclerView 设置为 wrap_content,StackFromEnd 设置为 true,但我的 RecyclerView 仍然在顶部显示空白空间 question with same issue
猜你喜欢
  • 2018-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多