0
我使用CircleImageView實例來顯示圖像並將其從圖庫中加載拾取或使用相機使用Picasso庫捕獲。
我正面臨Android 7.0上的一個問題,即圖像在調整大小時未加載到圖像視圖中。否則,如果沒有調整大小,可以在其他操作系統上正常工作。
Picasso CircleImageView在Android 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);
}
}
onSelectFromImageGallery() method
public void onSelectFromImageGallery(Intent data) {
Uri imgUri;
if (data != null) {
imgUri = data.getData();
if (imgUri != null) {
profileImagePath = imgUri.toString();
CommonUtils.displayImage(activity, imgUri.toString(), imageView);
} else if (data.getClipData() != null) {
if (!StringUtils.isNullOrEmpty(data.getClipData().getItemAt(0).toString())) {
imgUri = data.getClipData().getItemAt(0).getUri();
profileImagePath = imgUri.toString();
CommonUtils.displayImage(activity, imgUri.toString(), imageView);
}
}
}
}
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.");
}
});
}
圖片將開始加載,一旦我刪除resize()
,centerCrop()
和onlyScaleDown()
從代碼。
刪除.resize(),並使用固定的高度和寬度在XML進行的ImageView與propertty::嘗試做這樣的事情SCALETYPE = 「fitxy」。 –
它不工作。我的不是ImageView,它是CircleImageView。所以,它拋出錯誤,如:'java.lang.IllegalArgumentException:ScaleType FIT_XY不支持.' – pratik03