-4

How can I create item divider between recyclerview elements like in WhatsApp?

I tried SimpleItemDecorator class given in the link below which didn't give me expected result :

https://stackoverflow.com/a/41547052

enter image description here

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Sumukha Aithal K
  • 675
  • 1
  • 10
  • 23

2 Answers2

1
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="@dimen/_60sdp"
    android:background="@color/white">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="@dimen/padding_small">

        <de.hdodenhof.circleimageview.CircleImageView
            android:id="@+id/msgimage"
            android:layout_width="@dimen/_50sdp"
            android:layout_height="@dimen/_50sdp"
            android:layout_alignParentStart="true"
            android:src="@drawable/adpost_placeholder" />


        <LinearLayout
            android:id="@+id/textsec"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@+id/msgimage"
            android:layout_toStartOf="@+id/follosec"
            android:orientation="vertical">


            <com.codinghands.pistachio.Custom.MyTextViewRegular
                android:id="@+id/msgusername"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/margin_extra_very_small"
                android:layout_marginTop="@dimen/margin_small"
                android:text="name"
                android:textColor="@color/text_black"
                android:textSize="@dimen/text_small"
                android:textStyle="bold" />

            <com.codinghands.pistachio.Custom.MyTextViewRegular
                android:id="@+id/msgfullname"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginStart="@dimen/margin_extra_very_small"
                android:paddingEnd="@dimen/padding_small"
                android:text="name"
                android:textColor="@color/text_lightgrey"
                android:textSize="@dimen/text_very_small" />


        </LinearLayout>


    </RelativeLayout>

    <View
        android:layout_width="match_parent"
        android:layout_height="1dp"
        android:layout_marginStart="@dimen/_60sdp"
        android:layout_marginEnd="@dimen/padding_small"
        android:layout_alignParentBottom="true"
        android:background="#000000" />
</RelativeLayout>


**it will be something like this change margin,padding,color and textview to your need. use it as item in recyclerview **

check if its lastpotion in bindholder and hide the view to remove item separator for lastposition

Nadil
  • 56
  • 7
0

I'm just adding this to the inflating file of my recyclerview.

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
android:focusable="true"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto">

<View
    android:id="@+id/divider"
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="@color/uvv_light_gray"
    android:layout_marginEnd="10dp"
    android:layout_marginRight="10dp"
    android:layout_marginStart="10dp"
    android:layout_marginLeft="10dp"/>
<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/custom_ripple"
    android:padding="10dp">

    ....
    ....

</RelativeLayout>