Glide сжимает изображение при первой загрузке

Когда я загружаю изображение в ImageView с Glide , он сжимает изображение. Когда я вращаю или снова открываю ту же самую активность, он имеет нужный размер. Я уже пробовал возможный дубликат . Я уже передаю размер исправления в ImageView внутри xml, и я также попытался переопределить размер. centerCrop() и fitCenter() не влияют на усадку. Я также попытался отладить размер изображения. Когда он сжимается или нет, он возвращает ту же ширину и высоту.

Посмотреть:

 <ImageView android:id="@+id/thumbnail" android:layout_width="@dimen/episode_detail_img_width" android:layout_height="@dimen/episode_detail_img_height" android:layout_marginTop="@dimen/episode_detail_img_margin_top" /> 

скольжение

 Glide.with(getActivity()) .load(url) .placeholder(R.drawable.thumb_placeholder) .centerCrop() .diskCacheStrategy(DiskCacheStrategy.ALL) .into(thumbnail); 

Я прослежу, что ты получил свой ответ. Но только для более подробного описания вашей проблемы:

Glide рассчитайте высоту и уровень изображения ImageView перед загрузкой изображения, но когда изображение загрузится, он заменит ваш держатель места. Поэтому, если ваш размер или вес вашего места размещения мал, Glide будет отображать загруженное растровое изображение с размером заполнитель.

Таким образом, без задержки в разных размерах экрана и макете, я советую использовать высокий размер, который можно вынести на место.

И еще один взлом – это использовать цвет в заполнителе. Цвет bcoz не имеет высоты или ширины, поэтому визуализируйте всю область зрения.

По сравнению с Пикассо, Glide намного эффективнее по памяти. Glide автоматически ограничивает размер изображения, хранящегося в кеше и памяти, в размерах ImageView

Очистите свой проект и попробуйте этот код:

 Glide .with(context) .load(url) .override(400, 200) // resizes the image to these dimensions (in pixel).does not respect aspect ratio .into(thumbnail); 

Вы определили метод placeHolder (), который будет загружен в начальный момент времени, и когда glide загружает изображение на основе заданного URL-адреса, затем сгладьте изображение Loaded Image с изображением placeHolder. Который появится в imageView. Это загруженное изображение, установленное в imageView на основе указанного метода.

Например: cropCenter (), fitCenter () и т. Д.

Не используйте cropCenter (), он обрезает изображение из центра и вставляет его в ваше изображение, поэтому качество изображения будет отключено.

Используйте метод fitCenter ().

 <ImageView android:id="@+id/conversation_team_photo" android:layout_width="56dp" android:layout_height="56dp" android:scaleType="fitCenter" /> 

И я определил простой способ использовать glide здесь лучший способ использовать глиссирование.