0

I am getting strange issue while loading image using universal image loader. I want to display image with all corners rounded, but output image is not displaying as per requirement.

Below is my code in adapter item xml -

<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:id="@+id/container_rl"
    android:background="@color/transparent_color"
    android:layout_height="300dp">

<ImageView
    android:id="@+id/object_iv"
    android:scaleType="fitXY"
    android:adjustViewBounds="true"

    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<View
    android:background="@drawable/rounded_corner_bg"
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

 <TextView
    android:id="@+id/name_tv"
    android:layout_centerInParent="true"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:layout_marginLeft="@dimen/space_20"
    android:layout_marginRight="@dimen/space_20"
    android:text="@string/app_name"
    android:textColor="@color/white"
    android:textSize="@dimen/size_18"/>
</RelativeLayout>

Here is code in adapter -

ImageLoaderUniversal.ImageLoadWithRoundedCorners(mContext,ImageURI, mFeedIV);

and at last code for load image -

  public static void ImageLoadWithRoundedCorners(Context mContext,final String URl, final ImageView imageView){
    DisplayImageOptions options = new DisplayImageOptions.Builder()
            .showImageOnLoading(R.mipmap.ic_default_media)
            .showImageForEmptyUri(R.mipmap.ic_default_media)
            .showImageOnFail(R.mipmap.ic_default_media)
            .cacheOnDisk(true)
            .displayer(new RoundedBitmapDisplayer(25))
            .build();

    ImageLoaderConfiguration.Builder builder = new ImageLoaderConfiguration.Builder(mContext).defaultDisplayImageOptions(
            options).memoryCache(new WeakMemoryCache());
    ImageLoaderConfiguration config = builder.build();
    imageLoader = ImageLoader.getInstance();
    if (!imageLoader.isInited()) {
        imageLoader.init(config.createDefault(mContext));
    }
    imageLoader.displayImage(URl, imageView, options);
}

Add here is scrren shot attached of how images are displaying using above code.

Please provide your solution on my problem.

TIA

Ravi Bhandari
  • 4,682
  • 8
  • 40
  • 68

2 Answers2

0

Try This

options = new DisplayImageOptions.Builder()
    .displayer(new RoundedBitmapDisplayer(50))
    .showStubImage(R.drawable.ic_app)
    .showImageForEmptyUri(R.drawable.camera)
    .showImageOnFail(R.drawable.ic_error)
    .cacheOnDisc()
    .build();
mdDroid
  • 3,135
  • 2
  • 22
  • 34
0

Please compile it in your dependencies and use below given xml code in place of imageview .

compile 'de.hdodenhof:circleimageview:2.0.0'

 <de.hdodenhof.circleimageview.CircleImageView
                        android:id="@+id/ivUserImage_nfp"
                        android:layout_width="60dp"
                        android:layout_height="60dp"
                        android:src="@drawable/profile_img"
                        app:civ_border_color="@color/textcolor"
                        app:civ_border_width="1dp" />

you set border color and width according to your needs. Use universal imageloader only for loading image.

Sabby
  • 403
  • 3
  • 15