Make Recycler View show rows from bottom

Android

Android Problem Overview


I saw somewhere method to make RecyclerView show ViewHolders from bottom to top. Now, i can't find it anywhere (after half of hour going through RecyclerView, RecyclerAdapter, LayoutManager...).

Android Solutions


Solution 1 - Android

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 - Android

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 - Android

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 - Android

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

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

Solution 5 - Android

Solution on your query:


LinearLayoutManager layoutManager=
                new LinearLayoutManager(getApplicationContext(),LinearLayoutManager.VERTICAL,true);
                layoutManager.setStackFromEnd(true);
        recyclerView.setLayoutManager(layoutManager); 

In above code recyclerView is the id of RecyclerView and layoutManager is object of LinearLayoutManager.

Solution 6 - Android

In my case, it was achieved by setting stackFromEnd = true, reverseLayout = false on the LinearLayoutManager and setting scrollToPosition(index_of_last_element)

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

recyclerView?.scrollToPosition(equations.size - 1)

View Animation

Solution 7 - Android

> This is working for me in kotlin > > recyclerView?.scrollToPosition(mArrayList.size - 1)

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionJoKrView Question on Stackoverflow
Solution 1 - AndroidAndroidExView Answer on Stackoverflow
Solution 2 - AndroidAbhinayMeView Answer on Stackoverflow
Solution 3 - AndroidMostafa AnterView Answer on Stackoverflow
Solution 4 - AndroidRamy SabryView Answer on Stackoverflow
Solution 5 - AndroidAnkit PetkarView Answer on Stackoverflow
Solution 6 - AndroidxFactorView Answer on Stackoverflow
Solution 7 - AndroidBiplob DasView Answer on Stackoverflow