Cha*_*eep 25 mobile user-interface dpi pixels density-independent-pixel
我正在阅读dp,dip,px,sp测量,但我仍然有一些关于dp/dpi vs ppi vs px vs inch的问题.我无法比较它们......是最大的一英寸?
他们说160 dpi意味着每英寸160像素.这是否意味着1英寸包含160像素?
他们还说160 dpi屏幕上的1个像素= 1 dp.这是否意味着1像素和1 dp相等?
最后,我们为什么要使用dp而不是px?我明白这是理想的,但为什么呢?
Chr*_*ell 44
您应该(几乎)总是使用灵活的大小单位,例如dp,与密度300px无关的像素,因为在一台设备上不一定与另一台设备上的屏幕空间相同300px.最大的实际意义是,您的布局在密度与设计目标不同的设备上看起来会有很大不同.
dp或者dip表示与密度无关的像素dpi或者ppi表示每英寸点数(或像素数)inch 是与实际屏幕尺寸相关的物理测量px 表示像素 - 像素根据密度填充任意数量的屏幕区域.例如,在160dpi屏幕上1dp == 1px == 1/160in,但在240dpi屏幕上,1dp == 1.5px.所以不,1dp != 1px.有只有一个案件时1dp == 1px,这是一个在160dpi屏幕上.像英寸这样的物理测量单位永远不应该成为你设计的一部分 - 也就是说,除非你制作一把尺子.
确定多少像素一个简单的公式1dp实现的是px = dp * (dpi / 160).
dp、dip、dpi、ppi、像素和英寸有什么关系?
出于安卓开发的目的:
dp = dip
dpi = ppi
inch x dpi = pixels
dp = 160 x inch
dp = 160*pixels/dpi
Run Code Online (Sandbox Code Playgroud)
因此,在 160dpi 手机 (mdpi) 上:
2 inches = 320 dp
2 inches = 320 pixels
Run Code Online (Sandbox Code Playgroud)
在 180 dpi 手机上:
2 inches = 320 dp
2 inches = 360 pixels
Run Code Online (Sandbox Code Playgroud)
请注意,2 英寸始终为320dp,与屏幕尺寸无关。dp 是 1/160 英寸的物理距离。
dp 到像素的公式很有趣:
dp = 160*pixels/dpi
Run Code Online (Sandbox Code Playgroud)
相当于:
dp = pixels/(dpi/160)
Run Code Online (Sandbox Code Playgroud)
dpi/160是一个有趣的因素。它是与 android 的 mdpi bin 相比的相对密度,以及您必须为各种资源 bin 缩放图形的数量。您会在此页面上看到多次提到该因素,0.75 是 ldpi 的因素。
dp是像英寸一样的物理测量.(是的,是的.请继续阅读.)
"dp对应于160 dpi像素的物理尺寸"(https://developer.android.com/training/multiscreen/screendensities.html#TaskUseD)
160 dpi像素的物理尺寸正好是1/160英寸.因此,dp的大小是1/160英寸.160 dp = 1英寸.
Px是屏幕上有点任意的测量单位.
有关dp在不同设备上转换为px的示例,请参见此处:
| 归档时间: |
|
| 查看次数: |
53686 次 |
| 最近记录: |