Android Glide占位符大小与不同的图像大小相同

时间:2018-08-21 19:00:22

标签: android imageview android-glide

我整天都在解决这个问题:(

在我的Android应用程序中,我从服务器下载了不同大小的图像。例如,图像A的尺寸为500x330,图像B的尺寸为500x700,依此类推。我还在图像下方添加了一些文本。我正在使用尺寸为500x400的占位符图像。

我可以使用Glide加载图像并显示占位符:

XML:

redirectUrl

科特琳:

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

问题:

正在加载图像时,显示的占位符高度为400。例如,完成加载后,用户将看到高度从400更改为700。然后,用户还会看到图像下方的文本是向上还是向下跳跃,取决于图像的大小:(

问题:

我要在UI上显示的每个加载图像如何缩放或保持占位符的大小相同。这样,UI在加载后不会更改?

注意:我不想像这样的layout_height =“ 100dp”那样硬编码静态图像的高度。它们的大小和无线电应该保持原样。

如果Glide无法做到。你们还有其他建议吗?

非常感谢您。

1 个答案:

答案 0 :(得分:0)

不知道此问题是否仍然存在。希望将fitCenter()设置为Glide会对您有所帮助。这将使图像适合占位符,并且不会更改尺寸。 Buuut ....如果照片不具有与占位符图像完全相同的长宽比,您将看到一些空白。

如果无法正常工作,您还可以尝试通过设置占位符图像的宽度和高度来覆盖整个imageView的宽度和高度。

.override(w, h) // set exact size
.fitCenter() // keep memory usage low by fitting into (w x h) [optional]

其中

w = placeholderDrawable width
h = placeholderDrawable height

我真的希望这会有所帮助。

更多详细信息here