我目前正在为一款移动应用程序开发线框,有些东西似乎让我心神不宁:在Android Design Guidelines中,它们声明如下:
平均为48 On,其物理大小约为9mm (具有一定的可变性)。
但是,根据Android Developpers Dev Guide,他们使用以下公式计算dp:
与密度无关的像素相当于160个dpi屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统根据正在使用的屏幕的实际密度,根据需要透明地处理任何dp单元的缩放。dp单元到屏幕像素的转换非常简单: px = dp * (dpi / 160)。例如,在240 dpi屏幕上,1 dp等于1.5物理像素。在定义应用程序的UI时,应该始终使用dp单元,以确保在不同密度的屏幕上正确显示UI。
因此,为了简单起见,我在160 say做我的设计,所以我的图形按照推荐的标准有正确的大小。打印时,我将文档缩小2,22 (160 the /72 the ),因此打印结果给出了纸张上的实际物理大小。
我要我的纽扣高48磅。但是如果我做数学,按照我所读到的每一件事,通过指定48作为我的按钮高度,我根本没有接近9毫米的大小。
48 mm/160 48dp = 0.3英寸,所以7.62毫米。
我明显错过了什么/做错了什么?那9毫米是从哪里来的?
谢谢!
更新
以下是帮助我理解我在被接受的答案中遗漏了什么的东西。
以200的屏幕密度为例。Android将使用240作为计算的基础。所以:
现在的诀窍是实际的设备密度是200。所以像素会比240 the屏幕上的大。要获得200 0,3设备的物理大小,我们必须得到两种分辨率之间的差异,并将其应用于0、3英寸:
我知道这与@kabuko的声明完全相同:
(48 in/200皮)* 1.5 * 25.4毫米/英寸= 9.14400
但这一步地帮助我弄清楚了引擎盖下面发生了什么。
发布于 2012-04-11 21:00:03
你所指的确切陈述是:
平均
为48 of,相当于大约9 9mm的物理尺寸。
如果您查看来自Supporting Multiple Screens doc的这张图像

您将看到有密度桶(ldpi、mdpi、hdpi、xhdpi)。每个密度不是固定密度,而是最终映射到用于各种密度计算的固定数字的密度范围(分别为120、160、240、320 )。对于mdpi设备来说,160很少是每英寸的实际像素,它只是为了简单起见而使用的抽象值。
您的计算是正确的,但是您假设160 is是平均密度(假设mdpi设备),因为160 mdpi是mdpi的抽象值。显然不是,如果你提到的陈述确实是真的。我怀疑有很多设备,平均大约200皮,最终被归类为hdpi。这将是:(48 in/200皮)* 1.5 * 25.4毫米/英寸= 9.14400毫米。只是一个猜测,但我认为根本的原因是,平均水平不是160皮。
更新:
下面是来自设计站点的文档的另一条引文:
如果您设计元素的高度和宽度至少为48 If,您可以保证.您的目标将永远不会小于最低推荐的目标大小为7毫米,无论他们是在什么屏幕上显示。
因此,尺寸从>7毫米到至少9毫米(假设9毫米是平均的,我认为最高范围应该是<11毫米)。是的,在所有屏幕上,48 is应该是“大致相同的”大小,但“近似”的真正含义并没有具体说明。你的7.62毫米在射程内。他们的9mm值只是一个“平均值”,这是一个未指定的ppi。
发布于 2016-03-12 21:11:29
如果严格地谈论安卓手机和平板电脑(没有电视、没有磨损、没有台式机、没有iOS):根据谷歌https://design.google.com/devices/的设备列表,48到9mm的推荐似乎与现实世界的价值不符。
我需要找到要使用的最低DP值,它可以安全地呈现在给定的物理大小上。事实证明,有些设备配置得很糟糕(索尼Experia C4在此列表中排名最差,为200 dp/ in,其次是戴尔场馆8的180 DP /in,然后LG G3为178 DP/in)(这里讲的是逻辑的DP而不是物理的DPI)。在这些设备中,一切看起来都会比平均水平小。其他的都接近170.144 dp/in。
如果这一信息可以在其他地方找到,以符合数据,并有更多的设备,这将是很好的,如果我们看到有更多的流氓设备在那里。
以下是我从页面中提取的一些数字:(只有android手机和平板电脑)
Max: 200 dp/in (smallest)
Min: 141 dp/in (biggest)有了这些数字,这里有一个表,显示各种离散dp值的最小/最大毫米大小,供选择(四舍五入至最近的1/10毫米):
dp min max mm
36 4.6 6.5
37 4.7 6.7
38 4.8 6.8
39 5.0 7.0
40 5.1 7.2
41 5.2 7.4
42 5.3 7.6
43 5.5 7.7
44 5.6 7.9
45 5.7 8.1
46 5.8 8.3
47 6.0 8.5
48 6.1 8.6
49 6.2 8.8
50 6.4 9.0
51 6.5 9.2
52 6.6 9.4
53 6.7 9.5
54 6.9 9.7
55 7.0 9.9
56 7.1 10.1
57 7.2 10.3
58 7.4 10.4
59 7.5 10.6公式
mm = <dp> * 25.4 / <dp/in>中,<dp/in>要么是最大密度dp/in (200),要么是低密度(141),我可以在这个设备列表中找到。
示例
48dp * 25.4 / 200 = 6.096mm
圆角: 6.1毫米--低于他们声称的“安全”7毫米。
还要注意的是,在任何手机/平板电脑屏幕上,48 on都没有达到"9mm“。Max为8.6 (接近但肯定不是平均值)。
https://stackoverflow.com/questions/10112780
复制相似问题