我想明白一些事情。我看到的一件奇怪的事情是,当我将 wrap_content
放在宽度和高度中时,图像大于插入图像的实际 px(像素)大小。为什么会这样?
我的代码带有wrap_content
:
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="false"
android:src="@drawable/header" />
这就是我的代码,具有图像的精确像素大小:
<ImageView
android:id="@+id/imageView1"
android:layout_width="378px"
android:layout_height="155px"
android:adjustViewBounds="false"
android:src="@drawable/header" />
如您所见,这就是确切的像素大小:
这是为什么呢?我认为 wrap_content
应该将 View 包装到内容大小,那么为什么它在屏幕上更大?
最佳答案
如果您确实需要按原样使用图像像素,并使用屏幕实际像素,请执行以下操作:
1) 创建一个 res/drawable-nodpi
并将固定像素的非缩放图像移到其中。
2) 然后,您可以将 wrap_content
用作 layout_width
和 layout_height
,并且图像像素将与设备像素匹配,不会因为 dpi 而放大.
来自 http://developer.android.com/guide/practices/screens_support.html , nodpi 的定义:
所有密度的资源。这些是与密度无关的资源。无论当前屏幕的密度如何,系统都不会缩放标有此限定符的资源。
关于android - 为什么 wrap_content 大于实际像素大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027866/