Катушка ImageView не подходит точно
Согласно с Coil
s документы, мне не нужно настраивать мой образ, чтобы fit()
, Проблема в том, что ImageView
загружается неправильно:
Это моя конфигурация для ImageView
с участием Picasso
:
picasso.load(unsplashResult?.photoUrls?.thumbnailUrl)
.fit()
.error(R.drawable.img_placeholder)
.placeholder(R.drawable.img_placeholder)
.into(currentImageView)
И это код с Coil
:
currentImageView.load(unsplashResult?.photoUrls?.thumbnailUrl) {
placeholder(R.drawable.img_placeholder)
error(R.drawable.img_placeholder)
}
Результат на моем ImageView
это не то же самое, хотя.
Вот как Coil
загружает их:
И это как Picasso
загружает их:
Вопрос в том, как я могу достичь того же результата с Coil
?
РЕДАКТИРОВАТЬ
Это мое ImageView
:
<ImageView
android:adjustViewBounds="true"
android:id="@+id/ivUnsplashImage"
android:src="@drawable/some_unsplash_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
1 ответ
На основе этого документа
Вы можете обойти это, установив для scaleType значение centerCrop или scale(Scale.FILL) по вашему запросу.
https://coil-kt.github.io/coil/api/coil-base/coil.request/-request-builder/scale/
https://coil-kt.github.io/coil/api/coil-base/coil.size/-scale/
вы настроены Scale
типа так
view.load(chatMessageBean.thumb) {
crossfade(750)
placeholder(errorPlaceHolder)
transformations(CircleCropTransformation())
error(errorPlaceHolder)
scale(Scale.FILL)
}
Итак, согласно руководству по миграции ответ должен быть таким:
imageView.scaleType = ImageView.ScaleType.FIT_CENTER
или это должно быть определено в XML
android:scaleType="fitCenter"
Насколько я понял из документации, вы должны использовать ImageView.ScaleType
imageView.scaleType = ImageView.ScaleType.FIT_XY
или вы можете использовать его в своем теге xml вашего ImageView
android:scaleType="fitXY"
Помимо FIT_XY вы можете использовать
ImageView.ScaleType.CENTER_CROP
тоже в соответствии с вашими потребностями.
Просто удалите строку android:adjustViewBounds="true"
в XML-файле макета.