To enable chat-style scrolling in a List View, we can use the following properties:
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
....
android:stackFromBottom="true"
android:transcriptMode="normal" />
It is a simple and efficient way to create a chat. How can we do the same thing with a recycler view ? I did not find any simple solution.
Regards,
In order to display a list in your application, we all must have used RecyclerView in Android. For example, the emails in the Gmail app, the feeds on Facebook and Instagram, messages in WhatsApp, all are done with the help of RecyclerView.
The RecyclerView is a more advanced and more flexible version of the ListView. This new component is a big step because the ListView is one of the most used UI widgets. The CardView widget, on the other hand, is a new component that does not “upgrade” an existing component.
A RecyclerView.LayoutManager implementation that lays out items in a grid for leanback VerticalGridView and HorizontalGridView . LinearLayoutManager. A RecyclerView.LayoutManager implementation which provides similar functionality to ListView .
add these statements;
<android.support.v7.widget.RecyclerView
android:id="@+id/chat_list_view"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:drawSelectorOnTop="false"
android:listSelector="@android:color/transparent"
android:paddingLeft="4dp"
android:paddingRight="4dp"
android:scrollbarStyle="outsideOverlay"
android:transcriptMode="normal" />
and add into layout manager
layoutManager.setStackFromEnd(true);
RecyclerView has a stackFromEnd
attribute.
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/recyclerView"
android.support.v7.recyclerview:stackFromEnd ="true"/>
Or you can do it through code
mLayoutManager = new LinearLayoutManager(getActivity());
mLayoutManager.setReverseLayout(true);
mLayoutManager.setStackFromEnd(true);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With