只有在RecycleView / List大于屏幕的情况下,才能使用setStackFromEnd

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

只要有足够的项目填满屏幕,它就可以工作,但如果RecyclerView中只有少量项目,则会将其推下,并在屏幕顶​​部留下空白区域

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

下面是我得到的和我试图得到的一个例子:

我得到什么 我想要的是

从你的描述中,我假设你已经把RecyclerView高度设置为match_parent

所以,正因为如此,你所看到的只是正常的行为。 当setStackFromEnd未设置为true ,您的RecyclerView从顶部填充其视图(如图所示)。 但是,从最后设置堆栈时,会发生相反的情况。 因此,你看到顶部的空白空间。

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

另外,根据你想要实现的,你也可以考虑setReverseLayout(true) 。 希望这可以帮助!