使Recycler View显示从底部开始的行

时间:2015-04-06 16:05:05

标签: android

我看到某种方法让RecyclerView从下到上显示ViewHolders。现在,我无法在任何地方找到它(经过RecyclerViewRecyclerAdapterLayoutManager ......半小时后。

7 个答案:

答案 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 = falseLinearLayoutManager 和设置 scrollToPosition(index_of_last_element)

recyclerView?.apply {
 layoutManager = LinearLayoutManager(context).apply {
   stackFromEnd = true
   reverseLayout = false
 }
}

recyclerView?.scrollToPosition(equations.size - 1)

View Animation

答案 6 :(得分:-1)

这在Kotlin对我有用

recyclerView?.scrollToPosition(mArrayList.size - 1)