I have searched more on websites and got many suggestions like below
Changing background with custom style to set the corner radius and padding ( Getting image as rectangle and background as rounded corner)
Changing Given image to Bitmap by decoding the image and cropping functionality by passing this bitmap and width ( its taking more time to load)
I have checked the WhatsApp Chat history list and it has rounded corner images but its loaded with minimum time
.
Could you please suggest me the best way to create listview template with rounded images as in WhatsApp?
I am expecting to change the image with rounded corner by setting the style details in xml page. (image width and height is 60 dp, also my listview having around 60 items)
References :
res/mylayout.xml:
<ImageView
android:id="@+id/contactssnap"
android:layout_width="50dp"
android:layout_height="50dp"
android:src="@drawable/contactssnap"
android:background="@drawable/roundimage" />
res/drawable/roundimage.xml:
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid android:color="#ffffffff" />
<stroke
android:width="2dp"
android:color="#90a4ae" />
<size
android:height="50dp"
android:width="50dp" />
<padding
android:bottom="2dp"
android:left="2dp"
android:right="2dp"
android:top="2dp" />
<corners android:radius="100dp" />
</shape>
Note: Supported Android Version from 14 to 22
The answer from sats is worked. But RoundedBitmapDrawable cannot be applied to an ImageView with scaleType: centerCrop.
An updated.
If you are using Android API at level 21. We have a simple solution here.
1st, create drawable as background for the imageview
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="8dp" />
<solid android:color="@android:color/white" />
<stroke
android:width="1dp"
android:color="@color/colorWhite" />
</shape>
Next, change ImageView's property setClipToOutline to true. And set rounded drawable as ImageView's background.
That's it.
In my demo, I using this method for rounded imageview. Can find it here cuberto's dialog