ImageView CenterCropping无法使用适配器Android

问题描述:

我有一个适配器来显示项目。它包含一个ImageView的ImageView CenterCropping无法使用适配器Android

 <ImageView 
     android:id="@+id/iv_location" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:adjustViewBounds="true" 
     android:background="@drawable/location_place_holder" 
     android:scaleType="centerCrop" /> 

在ImageView的android:adjustViewBounds="true" android:scaleType="centerCrop"

,图像被使用动态加载的Glide。

public static void loadImage(Context mContext, String uri, @DrawableRes int placeHolderId, ImageView view) { 
    Glide.with(mContext) 
      .load(uri) 
      .diskCacheStrategy(DiskCacheStrategy.ALL) 
      .placeholder(placeHolderId) 
      .into(view); 
} 

而问题是图像偏斜enter image description here

你必须使用滑翔提供的功能来做到这一点。

public static void loadImage(Context mContext, String uri, @DrawableRes int placeHolderId, ImageView view) { 
Glide.with(mContext) 
     .load(uri) 
     .centerCrop() 
     .diskCacheStrategy(DiskCacheStrategy.ALL) 
     .placeholder(placeHolderId) 
     .into(view); 

}

首先,没有大小调整参数中心作物不能正常工作。

使用毕加索库

编译 'com.squareup.picasso:毕加索:2.5.2'

如果URI是直接图像下载网址。

公共静态无效的LoadImage(上下文mContext,字符串URI,@DrawableRes诠释placeHolderId,ImageView的视图){ Picasso.with(本) .load(URI)
.resize(400,400) .centerCrop( )
.into(视图);}

如果uri然后本地路径使用thie代码用于负载图片

Picasso.with(本) .load(新文件(URI))
.resize (400,400) .centerCrop()
.into(view);

试试这个,你可以滑行的用户centerCrop()用于此目的

public static void loadImage(Context mContext, String uri, @DrawableRes int placeHolderId, ImageView view) { 
Glide.with(mContext) 
     .load(uri) 
     .centerCrop() 
     .diskCacheStrategy(DiskCacheStrategy.ALL) 
     .placeholder(placeHolderId) 
     .into(view); 
}