Android xml sp,dp,px问题

时间:2014-01-29 14:10:14

标签: android html xml pixel

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

The Issue is

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

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

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

My question is:

我的图片应包含多大的尺寸,以便如果我将内容的高度和重量包裹起来,它就会获得原始尺寸。

2 个答案:

答案 0 :(得分:2)

px 是一个像素。

sp 是与比例无关的像素。

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

sp表示字体大小 为其他一切而努力。

<强>浸== DP

从这里

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

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

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

积分 - 1/72英寸,基于屏幕的物理尺寸。

<强> DP * 与密度无关的像素 * - 基于屏幕物理密度的抽象单位。这些单位相对于160 dpi的屏幕,因此一个dp是160 dpi屏幕上的一个像素。 dp与像素的比率将随着屏幕密度而变化,但不一定成正比。注意:编译器同时接受“dip”和“dp”,但“dp”与“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像素图像

150 * 150像素的hdpi图像

xhdpi

的200 * 200像素图像

答案 1 :(得分:-1)

在您的情况下,根据显示器的屏幕密度调整图像大小。由于您将图像放在比手机使用的密度更高的文件夹中,因此将缩小尺寸。来自How to resize the bitmap image according to mdpi,hdpi and screen size of the mobile的第四个回答解释了图像如何根据屏幕密度进行缩放。

您可以考虑设备的密度,预期的尺寸,并使用乘数增加尺寸,以便将其保存在xhdpi文件夹中。