【问题标题】:Android xml sp, dp , px issueAndroid xml sp, dp, px 问题
【发布时间】:2014-01-29 22:14:02
【问题描述】:

我知道有很多与 android 如何存储图像有关的东西。 mhdpi xhdmi lhdpi 等是什么意思 但我的问题有点不同。实际上,我正在使用px 中的身高和体重为720*1020 px 的屏幕。这不是完整的高清,这是一种标清屏幕。现在我为720*1080 px 设计了大小等于520*370 px 的图像,这是图像大小。我已将图像存储在xhdmi

The Issue is

当我把图像放在屏幕上并给它时

android:layout_height = "wrap_content"
android:layout_width = "wrap_content"

图像显示在屏幕上,但它缩小到原始尺寸的一半,所以我尝试将高度和宽度分别等于520px 和370px 分配给布局,然后我得到图像的原始尺寸

My question is:

我的图片应该包含什么尺寸,这样如果我包装内容的高度和重量,它就会得到原始尺寸。

【问题讨论】:

    标签: android html xml pixel


    【解决方案1】:

    px 是一个像素。

    sp 是与比例无关的像素。

    dip 是与密度无关的像素。 你会使用

    sp 字体大小 其他一切都畅通无阻。

    dip==dp

    从这里

    像素 像素 - 对应于屏幕上的实际像素。

    在 英寸 - 基于屏幕的物理尺寸。

    毫米 毫米 - 基于屏幕的物理尺寸。

    pt 点 - 基于屏幕物理尺寸的 1/72 英寸。

    dp *与密度无关的像素* - 基于屏幕物理密度的抽象单位。这些单位与 160 dpi 屏幕相关,因此 1 dp 是 160 dpi 屏幕上的一个像素。 dp与像素的比例会随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,但“dp”与“sp”更一致。

    sp *与比例无关的像素* - 这类似于 dp 单位,但它也根据用户的字体大小偏好进行缩放。建议您在指定字体大小时使用此单位,以便根据屏幕密度和用户偏好进行调整。

    将详细说明 dp 究竟是如何转换为 px 的:

    如果在 hdpi 设备上运行 150x150 像素的图像将占用 100*100 dp 的屏幕空间。

    如果在 mdpi 设备上运行 150x150 像素的图像将占用 150*150 dp 的屏幕空间。

    如果在 xhdpi 设备上运行 150x150 像素的图像将占用 75*75 dp 的屏幕空间。

    反之亦然:比如说,您想在应用程序中添加一张图片,并且需要它来填充 100*100 dp控制,

    您需要为支持的屏幕尺寸创建不同尺寸的图像:

    用于 mdpi 的 100*100 像素图像

    用于 hdpi 的 150*150 像素图像

    xhdpi 的 200*200 像素图像

    【讨论】:

    • 请给我一个解决方案,假设我需要在高清屏幕上部署相同的应用程序,那么尺寸会有所不同,如果我使用 px 尺寸,它会在高清屏幕上缩小。
    【解决方案2】:

    在您的情况下,图像会根据显示器的屏幕密度调整大小。因为您将图像放置在比手机使用的密度更高的文件夹中,所以它将被缩小。 How to resize the bitmap image according to mdpi,hdpi and screen size of the mobile 的第四个回复解释了图像如何根据屏幕密度进行缩放。

    您可以考虑设备上的密度、您期望的大小并使用乘数增加大小,以便将其保存在 xhdpi 文件夹中。

    【讨论】:

    • 投反对票有什么理由吗?我同意接受的答案有更多信息,但这并不意味着这个答案不正确。
    猜你喜欢
    • 2014-08-21
    • 2015-06-22
    • 2012-01-08
    • 2011-01-02
    • 1970-01-01
    • 1970-01-01
    • 2014-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多