Glide не изменяет размер изображения, когда используется метод thumbnail(...)
С использованием thumbnail(0.5f)
следует уменьшить размер изображения до 50% от исходного, но это не так.
Рассмотрим следующий код.
Glide.with(context).load(imgUrl)
.thumbnail(0.5f) //Make this work.
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
Я пытался удалить другие методы, такие как crossFade()
, diskCacheStrategy()
и т.д., чтобы увидеть, если они создают какую-то проблему, но это все равно не меняет размер изображения.
Я также попытался загрузить представление динамически с помощью кода вместо использования XML-файла, он по-прежнему не изменяется.
Полное раскрытие, я делаю все это внутри фрагмента.
Я не знаю, что я делаю, что неправильно. Надеюсь, кто-то поможет.
2 ответа
Использование override(int,int)
метод динамического изменения размера изображения. glide генерирует новое растровое изображение с шириной и высотой, указанное в переопределении (w,h), а затем загружает изображение в ImageView
, Ты можешь использовать fitCenter()
выровнять изображение. Вы также можете использовать diskCacheStrategy()
,
Glide.with(context)
.load(imgUrl)
.override(800, 400)
.fitCenter()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView)
Надеюсь, это поможет вам!
Кажется, ваш код для модуля Glide правильный, но может быть ошибка с "context", проверьте, что контекст имеет значение null. Или, если нет, попробуйте использовать метод getContext() внутри фрагмента следующим образом.
Glide.with(getContext()).load(imgUrl)
.thumbnail(0.5f)
.crossFade()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(imageView);
для получения дополнительной информации попробуйте документацию Glide. Надеюсь, это поможет.