Android 仅在 RecycleView/List 大于屏幕时才 setStackFromEnd

Par*_*ker 4 android kotlin android-recyclerview

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

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

有什么办法可以防止这种情况,或者只有setStackFromEnd当 RecyclerView 大于屏幕高度时才能防止?

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

我得到什么 我想要的是

Roh*_*ark 5

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

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

为了删除空白空间,我建议您将RecyclerView布局高度设置为wrap_content. 在Android 支持库 23.2 中wrap_content引入。因此,您的布局只会根据子视图的数量占用所需的空间。RecyclerViewRecyclerView

此外,根据您要实现的目标,您还可以考虑setReverseLayout(true). 希望这可以帮助!