Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/328.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java ImageView中心裁剪不适用于Android适配器_Java_Android_Imageview - Fatal编程技术网

Java ImageView中心裁剪不适用于Android适配器

Java ImageView中心裁剪不适用于Android适配器,java,android,imageview,Java,Android,Imageview,我有一个适配器来显示项目。它包含一个ImageView <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:

我有一个适配器来显示项目。它包含一个ImageView

<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" />

问题是图像是倾斜的

您必须使用glide提供的函数才能做到这一点

 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);
}

首先,如果没有“调整大小”参数,“中心裁剪”不起作用

使用毕加索图书馆

compile 'com.squareup.picasso:picasso:2.5.2'
如果Uri是直接图像下载url

public static void loadImage(Context mContext, String uri, @DrawableRes int placeHolderId, ImageView view) {
Picasso.with(this)
     .load(uri)           
     .resize(400, 400)
     .centerCrop()                                           
     .into(view);}
如果uri是本地路径,则使用该代码加载映像

Picasso.with(this)
     .load(new File(uri))           
     .resize(400, 400)
     .centerCrop()                                           
     .into(view);
尝试此方法,您可以为此使用glide的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);
}
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);
}