我看到某种方法让RecyclerView
从下到上显示ViewHolders
。现在,我无法在任何地方找到它(经过RecyclerView
,RecyclerAdapter
,LayoutManager
......半小时后。
答案 0 :(得分:68)
您正在寻找LinearLayoutManager.setStackFromEnd(true)
吗?
修改强>
结果LinearLayoutManager.setReverseLayout(true)
成功了。无论哪种方式,读者可能想要尝试每种方法和两者的组合以获得所需的效果。
答案 1 :(得分:5)
如果您使用 LinearLayoutManager 制作第三个参数(reverseLayout) false
LinearLayoutManager linearLayoutManager =
new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);
答案 2 :(得分:4)
您可以通过在xml代码中添加两行来完成此任务。
app:stackFromEnd="true"
app:reverseLayout="true"
这将适用于所有聊天应用。
答案 3 :(得分:1)
这是科特林
中的解决方案val llm = LinearLayoutManager(this)
llm.stackFromEnd = true // items gravity sticks to bottom
llm.reverseLayout = false // item list sorting (new messages start from the bottom)
rv_chat_history.layoutManager = llm
或者,如果您喜欢apply方法:
recycler.apply {
layoutManager = LinearLayoutManager(this).apply {
stackFromEnd = true
reverseLayout = true
}
}
答案 4 :(得分:0)
查询解决方案:
LinearLayoutManager layoutManager=
new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.VERTICAL,true);
layoutManager.setStackFromEnd(true);
recyclerView.setLayoutManager(layoutManager);
在上面的代码中,recyclerView是RecyclerView的ID,而layoutManager是LinearLayoutManager的对象。
答案 5 :(得分:0)
就我而言,它是通过在 stackFromEnd = true
上设置 reverseLayout = false
、LinearLayoutManager
和设置 scrollToPosition(index_of_last_element)
recyclerView?.apply {
layoutManager = LinearLayoutManager(context).apply {
stackFromEnd = true
reverseLayout = false
}
}
recyclerView?.scrollToPosition(equations.size - 1)
答案 6 :(得分:-1)
这在Kotlin对我有用
recyclerView?.scrollToPosition(mArrayList.size - 1)