2012-11-25 68 views
0

根据this guide's chapterpx = dp * (dpi/160)that布局规格从桶变化(物理尺寸以英寸计)为“DP”单元,使得:声明平板电脑布局的Android 3.2 - 温和混乱

  • 320dp:一个典型的电话屏幕(240x320 ldpi,320x480 mdpi,480x800 hdpi等)。
  • 480dp:像Streak(480x800 mdpi)这样的Tweener平板电脑。
  • 600dp:7英寸平板电脑(600x1024 mdpi)。
  • 720dp:10“平板电脑(720x1280 mdpi,800x1280 mdpi等)。

由于“DP”值取决于“PX”和“DPI”值,以便:dp = px/(dpi/160) - 是不是有可能,具有高分辨率手机设备会从w600dp文件夹中的布局?例如:三星银河s3 dp = 1280 /(303/160)= 670;三星银河s3 dp = 1280 /(303/160)= 670;三星银河s3 dp = 1380 /三星银河s2 dp = 800 /(217/160)= 592.所以,银河s3将采取“片面向导”的模板,对。它可以吗,特别是如果平板电脑版本包含更多的元素和整体界面人机工程学会受到平板电脑布局的情况下s3?为什么不坚持展示水桶?

您可能会推荐使用“sw”键,但我只想确保这些“dp”单位实际上与尺寸相关,以便面向平板电脑的模板不会显示在电话设备上。

所以,你介意分享你应用新方法的实践知识吗?

由于

+0

你忘了160dpi(= mdpi)不是固定值http://developer.android.com/design/style/metrics-grids.html – zapl

回答

0

的S3不具有160

+0

是的,它是303 - 你忽略了这个值 – midnight

1

dpdip的密度是一个(屏幕)密度独立的像素。令人困惑的部分是提及像素。它实际上是一个类似于厘米或英寸的单位。

每个设备为其屏幕定义一个dpi桶,例如mdpi,它是160dpi。这意味着您可以在屏幕上找到一英寸内的160像素。这并不是100%准确的,因为物理屏幕通常不是完全160 dpi(或为该存储桶定义的任何值)。但这是一个接近的价值。

这意味着在160dpi的完美屏幕上的160dp实际上是160像素。在具有完美xhdpi(= 320dpi)屏幕的设备上,这些160dp将是320像素。 (px = 160dp * (320dpi/160)

dp一起工作时不要考虑像素。以英寸,毫米或你喜欢的单位来思考。对于例如UI元素推荐48dp rythm解释

平均来说,48dp翻译到约9毫米的物理尺寸(有一些变异性)

为了接近的是:宽50dp =一个手指。

这有希望解释了为什么典型的320dp手机屏幕总是小于720dp的平板电脑屏幕,尽管较小的屏幕可以具有比较大的像素更多的像素。dpi /像素的东西已经考虑到了DP。


如何针对不同的屏幕尺寸做不同的布局? (即手机vs表)

使用screen size bucketssmall,...,xlarge)作为布局。它们代表了物理的小屏幕到大屏幕。除非需要调整非常特殊的情况,否则不需要sw600dp等。

不同的dpi桶应该只关心你的图像。例如。高分辨率图像任何大小drawable-hdpi文件夹中。