Как поместить изображение в 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
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);