Как поместить изображение в ImageView с помощью Glide

моя забота заключается в том, как соответствовать изображению с помощью android:scaleType="fitXY" в изображение с помощью скольжения.

мой ImageView is

<ImageView
    android:id="@+id/img_pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:scaleType="fitXY" />

загружает изображение с помощью скольжения такой

Glide.with(context).load(url).placeholder(R.drawable.default_image).into(img);

но изображение не вписывается в ImageView он показывает пространство на изображении с обеих сторон, как показано на экране, мне это нужно fitXY

enter image description here

4 ответов


можно использовать centerCrop on fitCenter методы:

Glide.with(context).load(url).centerCrop().placeholder(R.drawable.default_image).into(img);

или

Glide.with(context).load(url).fitCenter().placeholder(R.drawable.default_image).into(img);

вы также можете найти больше информации на: https://futurestud.io/blog/glide-image-resizing-scaling


на Glide v4 yo нужно создать объект RequestOptions, например:

RequestOptions options = new RequestOptions();
options.centerCrop();

Glide.with(fragment)
    .load(url)
    .apply(options)
    .into(imageView);

Подробнее


можно использовать .centerCrop() или .fitCenter()

другой способ сделать это с помощью настраиваемого Transformation


<android.support.v7.widget.AppCompatImageView
    android:id="@+id/ivPhoto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:adjustViewBounds="true"
    android:scaleType="fitXY" />

.....................................

implementation 'com.github.bumptech.glide:glide:4.8.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.8.0'

AppCompatImageView ivPhoto = findViewById(R.id.ivPhoto);

Glide.with(this)
            .load("https://www.gettyimages.ca/gi-resources/images/Homepage/Hero/UK/CMS_Creative_164657191_Kingfisher.jpg")
            .apply(new RequestOptions()
                    .placeholder(R.drawable.place_holder_gallery)
                    .error(R.drawable.ic_no_image)
            )
            .into(ivPhoto);