最近有个群友提了一个挺有意思的问题,当使用 Glide
加载图片时,假如不设置 ImageView
的宽高,会出现显示不可控的情况。
什么意思呢?我们来复现一下他的情况。
这位群友为我们提供了一张表情包图片:
要不是我们是正儿八经的学术讨论群,可能这位群友已经被锤死了…
当然,这个表情包是使用一个 URL 提供的,实际上只是相当于模拟从后端获取图片时的场景,因为一般这种情况后端是不会特意将图片尺寸提供给我们的,其实你也可以将图片放在 Assets Folder 中,同样能够复现,但别放在 /res/drawable
或者 /res/mipmap
文件夹内,因为系统会根据屏幕分辨率对其进行缩放。
我先把这张图片下载下来,看一下它的实际尺寸:
可以看到这张图片的尺寸为 100 × 97 像素,并不大,我们在项目中实际加载看看。
首先随便写一个简单的布局用于加载这张图片:
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@android:color/background_dark"tools:context=".MainActivity">
<ImageViewandroid:id="@+id/image"android:layout_width="wrap_content"android:layou