2012-11-25 65 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文件夾中。