Катушка 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-файле макета.

Другие вопросы по тегам