Rei*_*erd 2 android android-layout
我试图了解哪个布局使用哪个设备.
例如,我有不同的布局:
Nexus 7"(800x1280)使用layout-sw600dp
三星GTp3100 7"(600x1.024)使用layout-sw600dp
Samsung Tab 10.1(1280x800)使用layout-sw720dp
Sony XPERIA S 4.3(1280x720)使用布局
你们能用"你的话"解释为什么XPERIA S不使用sw600dp或sw720dp?SW!=最小宽度?XPERIA S最小的是720.应该使用sw720或sw600,对吧?还是我错了?
我已经阅读了大量文档,但无法理解为什么会发生这种情况.
非常感谢.
最小宽度限定符主要指屏幕大小而不是物理像素.
sw720dp
例如,使用设备必须具有720的最小屏幕宽度dp
(与设备无关的像素) - 这不是大约720个物理像素.从文档......
与密度无关的像素相当于160 dpi屏幕上的一个物理像素,这是系统为"中等"密度屏幕假定的基线密度.
Sony XPERIA S 4.3的物理宽度为2.5英寸,但我不知道屏幕的实际宽度有多少.
让我们假装为了计算屏幕覆盖整个宽度...在这种情况下,dpi
我们只是使用计算宽度720 / 2.5 = 288dpi
.
从dp
... 的文档
dp单位到屏幕像素的转换很简单:px = dp*(dpi/160).
重新安排上面的公式来计算dp
我们这样做......
dp = px / (dpi / 160)
Run Code Online (Sandbox Code Playgroud)
...这给了我们宽度dp
(和必要的最小宽度限定符)......
720 / (288 / 160) = 400dp
Run Code Online (Sandbox Code Playgroud)
简而言之,答案是,索尼XPERIA S 4.3可能有一个高密度屏幕(尺寸),但它不是一个大屏幕.