android - 为什么 wrap_content 大于实际像素大小?

标签 android imageview pixel

我想明白一些事情。我看到的一件奇怪的事情是,当我将 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_widthlayout_height,并且图像像素将与设备像素匹配,不会因为 dpi 而放大.

来自 http://developer.android.com/guide/practices/screens_support.html , nodpi 的定义:

所有密度的资源。这些是与密度无关的资源。无论当前屏幕的密度如何,系统都不会缩放标有此限定符的资源。

关于android - 为什么 wrap_content 大于实际像素大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12027866/

相关文章:

c# - 在更大的位图中查找位图(Pixel bot)-如何使其/for循环更快?

使用nexus 7从相机进行的Android视频记录返回空数据

android - 录制视频时设置 durationLimit 或 sizeLimit 的替代方法?

android - 将数据发布到服务器并在服务器端读取

java - ImageView 的 onTouch 移动?

algorithm - 布雷森汉姆算法

Android 运行时权限 - 用户撤销权限时应用程序崩溃。如何处理?

android - 调整 ImageView 的大小以适应纵横比

android - 小型 SVG ImageView 看起来模糊或 "curvy"

image-processing - 在图像中嵌入分析代码以在显示图像时触发