根据本指南的px = dp * (dpi / 160)
章节,布局规范从桶(物理尺寸以英寸为单位)更改为"dp"单位,因此:
- 320dp:一个典型的手机屏幕(240x320 ldpi,320x480 mdpi,480x800hdpi等)
- 480dp:像Streak一样的粗花呢平板电脑(480x800 mdpi)
- 600dp:7"片剂(600x1024 mdpi)
- 720dp:10"片剂(720x1280 mdpi、800x1280 mdpi等)
由于"dp"值取决于"px"one_answers"dpi"值,因此:dp = px / (dpi / 160)
-高分辨率的手机设备不可能采用w600dp文件夹中的布局吗?
例如:三星galaxy s3 dp=1280/(303/160)=670;三星galaxy s2 dp=800/(217/160)=592。所以,galaxy s3将采用"面向平板电脑"的模板,对吧。可以吗,尤其是如果平板电脑版本包含更多元素,并且在s3的情况下,平板电脑的布局会影响整体界面人机工程学?为什么不坚持展示水桶呢?
你可能会建议使用"sw"键,但我只想确保这些"dp"单位实际上与尺寸相关,这样面向平板电脑的模板就不会在手机设备上显示。
那么,你介意分享一下你在应用新方法方面的实践知识吗?
感谢
dp
或dip
是(屏幕)密度独立像素。令人困惑的是,它提到了像素。它实际上是一个类似于厘米或英寸的单位。
每个设备都为其屏幕定义了一个dpi存储桶,例如mdpi
,它是160dpi。这意味着你可以在屏幕上找到一英寸160像素。它不是100%准确的,因为物理屏幕通常不是160 dpi(或为存储桶定义的任何值)。但这是一个接近的价值。
这意味着完美的160dpi屏幕上的160dp实际上是160像素。在具有完美xhdpi(=320dpi)屏幕的设备上,160dpi将是320像素。(px = 160dp * (320dpi / 160)
)
要使用dp
,请不要以像素为单位进行思考。用英寸、毫米或你喜欢的单位思考。例如,UI元素的推荐48dp-rthm解释了
平均而言,48dp转化为约9mm的物理尺寸(具有一定的可变性)
近似为:50dp=一个手指宽。
这有望解释为什么一个典型的320dp手机屏幕总是比720dp平板电脑屏幕小,尽管较小的屏幕可能比较大的屏幕有更多的像素。dpi/pixel已经被分解为dp。
如何为不同的屏幕尺寸进行不同的布局?(即电话与桌子)
使用屏幕大小的存储桶(small
、…、xlarge
)进行布局。它们代表从小到大的物理屏幕。你不需要sw600dp
等,除非你需要调整非常特殊的情况。
不同的dpi存储桶应该只与图像有关。例如,drawable-hdpi
文件夹中任何大小的高分辨率屏幕的高分辨率图像。
S3的密度不是160。