如何使用Glide将Image放入ImageView

N J*_*N J 33 android image android-layout android-glide

我关心的是如何android:scaleType="fitXY"使用Glide将图像 融入图像.

我的ImageView

<ImageView
    android:id="@+id/img_pager"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerInParent="true"
    android:scaleType="fitXY" />
Run Code Online (Sandbox Code Playgroud)

像这样使用Glide加载图像

Glide.with(context).load(url).placeholder(R.drawable.default_image).into(img);
Run Code Online (Sandbox Code Playgroud)

但是图像不适合ImageView它在屏幕上显示的任何一侧显示空间我需要它fitXY

在此输入图像描述

Ori*_*olJ 70

在Glide v4上,你必须创建一个RequestOptions对象,如下所示:

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

Glide.with(fragment)
    .load(url)
    .apply(options)
    .into(imageView);
Run Code Online (Sandbox Code Playgroud)

更多信息

  • 还有一个更简洁的选项:Glide.with(fragment).load(url).apply(RequestOptions.centerCropTransform())。into(imageView); (6认同)
  • options.centerCrop() 的结果被忽略 (2认同)

Art*_*gin 49

你可以使用centerCrop()fitCenter()方法:

Glide.with(context)
     .load(url)
     .centerCrop()
     .placeholder(R.drawable.default_image)
     .into(img)
Run Code Online (Sandbox Code Playgroud)

要么

Glide.with(context)
     .load(url)
     .fitCenter()
     .placeholder(R.drawable.default_image)
     .into(img)
Run Code Online (Sandbox Code Playgroud)

您还可以在以下网址找到更多信息:https://futurestud.io/tutorials/glide-image-resizing-scaling

  • 如何设置占位符的scaletype? (4认同)
  • 好的,上面的答案显示使用 **fitCenter** 或 **centerCrop** 来拟合图像。但是 **fitXY** 呢?无论如何设置 fitXY 而不是任何其他参数? (4认同)
  • 在Android上使用它:Glide.with(getActivity()).load(imageSourceUrl).apply(new RequestOptions().centerCrop()) (3认同)

Emp*_*k12 6

你会用.centerCrop().fitCenter()

另一种方法是使用自定义 Transformation


Aha*_*kat 5

<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" />
Run Code Online (Sandbox Code Playgroud)

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

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);
Run Code Online (Sandbox Code Playgroud)