Изображение с масштабированием по горизонтали с помощью переопределения не изменяет размер изображения

Я использую Glide для загрузки и отображения изображения, однако, когда я пытался изменить размер изображения, он не делает этого. Я получаю случайный размер (или, возможно, его фактический размер изображения).

Вот код, который я использовал для загрузки через Glide

Glide.with(context) .load(file.getUrl()) .asBitmap() .diskCacheStrategy(DiskCacheStrategy.ALL) .centerCrop() .transform(new CropCircleTransform(context)) .override(dimen, dimen) .into(new SimpleTarget<Bitmap>() { @Override public void onResourceReady(Bitmap resource, GlideAnimation<? super Bitmap> glideAnimation) { bitmap = resource; Log.info(resource.getWidth() + "x" + resource.getHeight()); } }); 

CropCircleTransform просто отображает круговую и центральную CropCircleTransform растрового изображения. Я попытался удалить его, просто чтобы проверить, вызвал ли этот метод проблему, но при этом изображение не изменяется в соответствии с указанным размером.

Что-то не так с моим кодом? Или я не понимаю метод переопределения здесь?

РЕДАКТИРОВАТЬ:
Пытался удалить переопределение и, похоже, загрузил изображение в больших размерах, поэтому это означает, что при изменении переопределения происходит изменение размера.

Почему он не изменяет размер фактического значения, которое я указал?

РЕДАКТИРОВАТЬ:
В качестве образца значение для dimen равно 96, но размер, отображаемый в журнале для изображений, равен 97×97, 117×117, 154×154 и т. Д.

Означает ли это, что значение для метода переопределения является базовым значением для изменения размера, а не фактическим измерением, которое будет использоваться?

Я встречаю эту ошибку только сейчас. Моему решению задано изображение следующим образом:

  1. Установите размер изображения в xml-файле.
  2. Glide.with(context).load(path).centerCrop().crossFade().into(imageview);

оно работает.

Я только что встретил ту же ситуацию. И я думаю, что это ошибка Glide. Поэтому вы должны изменить размер растрового изображения самостоятельно следующим образом:

 Glide.with(context).load(url).asBitmap().into(new SimpleTarget<Bitmap>{ @Override public void onResourceReady(Bitmap resource,GlideAnimation<? extends Bitmap>(){ // resize the bitmap bitmap = resize(width,height); imageView.setImageBitmap(bitmap); } }) 

Кстати, scaleType ImageView, такой как «fitXY», «centerCrop», «fitCenter» и т. Д., Также может повлиять на то, как Glide изменяет размер изображения.