我如何拥有一个图像视图填满屏幕但保持纵横比并适合中心的图像视图?
目前我有大图像,大于手机屏幕分辨率,但我怀疑它们会在具有更高分辨率的设备上被邮箱
scaleType
的哪种组合可以解决这个问题?
答案 0 :(得分:14)
您只需使用adjustViewBounds
值即可保持图像的宽高比
<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" />
答案 1 :(得分:2)
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:scaleType="fitCenter" />
这是一个基本设置。
答案 2 :(得分:0)
之前我遇到过这个问题,问题是当图像需要按比例放大(屏幕宽度大于图像)时,Android不会将图像缩放到超出给定大小的范围。但是,按比例缩小效果很好。
我最终创建了下面提到的AspectRatioImageView
,效果很好。请务必阅读有关getIntrinsicWidth()
返回0和getDrawable()
返回null的注释,并对其进行一些安全检查。
How to stretch three images across the screen preserving aspect ratio?