我整天都在解决这个问题:(
在我的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无法做到。你们还有其他建议吗?
非常感谢您。
答案 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