仅当RecycleView / List大于屏幕时,Android才会设置setStackFromEnd

时间:2017-07-02 17:24:36

标签: android android-recyclerview kotlin

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

当有足够的项目填充屏幕时,它可以正常工作,但如果RecyclerView中只有少数项目,它会将它们向下推,并在屏幕顶​​部留下空白区域

如果RecyclerView大于屏幕高度,有没有办法防止这种情况,或仅setStackFromEnd

以下是我得到的以及我想要获得的内容的一个例子:

What I Get What I Want

1 个答案:

答案 0 :(得分:2)

根据您的说明,我假设您已将RecyclerView身高设置为match_parent

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

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

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