Android XML 1dp不等于1px

Glo*_*ind 0 xml android android-layout

我尝试从PSD文件制作XML布局.现在PSD文件的尺寸为320x1440.我已经读过android.developers,mdpi(160dpi)的分辨率为320x480.所以我假设在那种情况下我的PSD文件中的1px等于1dp.那是理论.

但我发现差异很小 - 特别是在字体大小方面.例如我在项目中有些字体有24px大小我需要将其除以2(如320dpi但PSD文件为320px).另外,如果我的PSD文件中有300px高度的元素,那么在android studio中它不是300dp.

我试图谷歌回答,但没有运气.任何帮助深表感谢.

Mou*_*Mou 5

这个答案:

  • px是一个像素.
  • sp是与比例无关的像素.
  • dip是与密度无关的像素. 在此输入图像描述

你会用的

  • sp 用于字体大小
  • dip 其他一切.

    浸== DP

来自Android开发者中心:

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


寸-基于屏幕的物理尺寸.
1英寸= 2.54厘米

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

pt (取决于屏幕的物理尺寸)点数 - 基于屏幕物理尺寸的1/72英寸.

这将有助于您进一步了解.

在此输入图像描述

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

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