Android 7.0中从“多媒体资料”中选择图像时出现的毕加索CircleImageView resize()问题
我正在使用CircleImageView实例显示图像,并加载从图库中拾取的图像或使用毕加索库使用相机拍摄的图像。Android 7.0中从“多媒体资料”中选择图像时出现的毕加索CircleImageView resize()问题,android,imageview,picasso,android-7.0-nougat,circleimage,Android,Imageview,Picasso,Android 7.0 Nougat,Circleimage,我正在使用CircleImageView实例显示图像,并加载从图库中拾取的图像或使用毕加索库使用相机拍摄的图像。 我在安卓7.0上面临一个问题,那就是当我调整图像大小时,图像没有加载到图像视图中。否则,在不调整大小的情况下,它可以在其他操作系统上正常工作。 下面是我的代码: onActivityResult() method public void onActivityResult(int requestCode, int resultCode, Intent data) {
我在安卓7.0上面临一个问题,那就是当我调整图像大小时,图像没有加载到图像视图中。否则,在不调整大小的情况下,它可以在其他操作系统上正常工作。
下面是我的代码:
onActivityResult() method
public void onActivityResult(int requestCode, int resultCode, Intent data) {
if (resultCode == REQUEST_PERMISSION) {
PermissionChecker.checkPermission(activity);
} else if (resultCode == Activity.RESULT_OK) {
if (requestCode == SELECT_FILE)
onSelectFromImageGallery(data);
else if (requestCode == REQUEST_CAMERA)
onCaptureImageResult(data);
}
}
一旦我从代码中删除
resize()
、centerCrop()
和onlyScaleDown()
,图像将开始加载。您可以像调整视图大小一样调整图像大小。尝试这样做:
imageView.getLayoutParams().height = 200;
imageView.getLayoutParams().width = 200;
imageView.requestLayout();
从Piccaso中删除.resize(),并将xml中的固定高度和宽度用于属性为:SCALETYPE=“fitxy”的imageview。它不起作用。我的不是ImageView,而是CircleImageView。因此,它抛出了如下错误:
java.lang.IllegalArgumentException:ScaleType FIT\u XY不受支持。
displayImage() method:
public static void displayImage(Context context, final String imageUri, final ImageView imageView) {
Picasso.with(context)
.load(imageUri)
.error(R.drawable.default_profile_pic)
.placeholder(R.drawable.default_profile_pic)
.resize(200, 200)
.centerCrop()
.onlyScaleDown()
.into(imageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Log.e(TAG, "Unknown error found while setting the image.");
}
});
}
imageView.getLayoutParams().height = 200;
imageView.getLayoutParams().width = 200;
imageView.requestLayout();