Make Recycler View show rows from bottom

Solution 1:

Is it LinearLayoutManager.setStackFromEnd(true) you are looking for?

Edit

Turns out LinearLayoutManager.setReverseLayout(true) does the trick. Either way, the reader may want to try each of the methods and the combination of both to get the needed effect.

Solution 2:

Here is the solution in Kotlin

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

Or if you like the apply method:

recycler.apply { 
    layoutManager = LinearLayoutManager(this).apply { 
        stackFromEnd = true
        reverseLayout = false
    }
}

Solution 3:

You can achieve this task by adding two lines to the xml code.

app:stackFromEnd="false"
app:reverseLayout="true"

This will work as all chat apps.

Solution 4:

If you are using LinearLayoutManager make third param (reverseLayout) false

LinearLayoutManager linearLayoutManager =
            new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false);