Search code examples
androidandroid-layoutandroid-imageview

Rounded ImageView not getting displayed properly


I am trying to make a rounded Image View but I am getting an improper output. I am attaching the photo

Output for Rounded Image View

These are the xml files used for this

circle.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadius="0dp"
android:shape="ring"
android:thicknessRatio="1.9"
android:useLevel="false" >
<solid android:color="@android:color/transparent" />

<stroke
    android:width="10dp"
    android:color="@android:color/white" />
</shape>

img.xml

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >

<item android:drawable="@drawable/circle"/>
<item android:drawable="@drawable/ic_add_photo"/>

</layer-list>

The image view for this is:

<ImageView
    android:id="@+id/iv_dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignStart="@+id/iv_person"
    android:layout_below="@+id/iv_person"
    android:layout_marginTop="37dp"
    android:adjustViewBounds="true"
    android:background="@drawable/img"
    android:cropToPadding="true" />

Solution

  • You can use CirlcleImageView library for rounded ImageView:

    compile this libray

     compile 'de.hdodenhof:circleimageview:2.2.0'
    

    Usage

    <de.hdodenhof.circleimageview.CircleImageView
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:id="@+id/profile_image"
        android:layout_width="96dp"
        android:layout_height="96dp"
        android:src="@drawable/profile"
        app:civ_border_width="2dp"
        app:civ_border_color="#FF000000"/>
    

    for more information follow this link