我怎样才能拥有一个图像填充屏幕但保持其纵横比并适合中心的图像视图?
目前我有大图像,比手机屏幕分辨率还大,但我怀疑它们会在分辨率更高的设备上被装箱
什么组合scaleType
可以解决问题?
您可以简单地使用adjustViewBounds
value 来保持图像的纵横比
<ImageView
android:id="@+id/metallicaImage"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:adjustViewBounds="true"
android:src="@drawable/metallica" />
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter" />
这是一个基本设置。
我之前遇到过这个问题,问题是当图像需要放大时(屏幕宽度大于图像),Android 不会将图像缩放到超出其给定大小。但是,按比例缩小效果很好。
我最终创建了AspectRatioImageView
下面提到的,效果很好。请务必阅读有关getIntrinsicWidth()
返回 0 和getDrawable()
返回 null 的注释,并对它们进行一些安全检查。