【问题标题】:How do I categorize my screen sizes?如何对我的屏幕尺寸进行分类?
【发布时间】:2017-03-20 08:02:23
【问题描述】:

我列出了 2 个我想要适应的屏幕尺寸(并且还在计数):

我的联想 A536:480 x 854 像素(~196 ppi 像素密度) 和三星 Galaxy S5:1080 x 1920 像素(~432 ppi 像素密度)

并在this page 中列出:320dp、480dp、600dp、720dp 作为“断点”来触发要加载的 xml、css...但我不知道如何对上面列出的屏幕尺寸进行分类(甚至使用公式时)...

请帮忙...谢谢...

【问题讨论】:

  • 从文档中复制/粘贴:minWH[dp value] instructs the system to load the particular layout file when the smaller dimension of the screen (width or height) is at least the value of dp. The minWH[dp value] qualifier does not depend on the device’s orientation. The minW[dp value] and minH[dp value] are similar to minWH[dp value] but work on just one dimension and are orientation dependent. - 这就是您要查找的内容。
  • 它并不完全需要使用 320dp、480dp、600dp、720dp..您可以根据需要使用 100dp、150dp、200dp 等..
  • 这是您不应该在布局中使用固定尺寸的另一个原因。
  • 谢谢...我会研究一下链接,如果我还有问题再回来... :)

标签: android nativescript


【解决方案1】:

您可以定位任何屏幕尺寸的 dpi。您可以使用以下屏幕尺寸限定符:

  • minWH - 较小的尺寸(宽度或高度)应至少为 X dp。
  • minW - 宽度至少应为 X dp。
  • minH - 高度至少应为 X dp。

因此,如果您想以 196 dpi 为目标,您可以这样定义页面:

your-page.minW196.xml - 适用于 196 dp 的最小宽度。

有关更多信息,请访问 nativescript 文档screen size qualifiers


以下是最流行的屏幕分辨率列表:

+--------------------------------------------------------------------+
| Device                Screen size      dpi       Suggested ratio   |
+--------------------------------------------------------------------+
| iPhone 5 / iPod Touch 1136 × 640       326ppi    2                 |
| iPhone 4              960 × 640        326ppi    2                 |
| iPhone 4S             960 × 640        326ppi    2                 |
| iPad (3rd gen)        2048 × 1536      264ppi    2                 |
| MacBook Retina        2880 x 1800      220ppi    2                 |
| Xperia S              720 × 1280       342ppi    2                 |
| One X                 720 × 1280       312ppi    2                 |
| EVO LTE               720 × 1280       312ppi    2                 |
| Galaxy Note           800 × 1280       285ppi    2                 |
| Galaxy SIII           720 × 1280       306ppi    2                 |
| Galaxy Nexus          720 × 1280       316ppi    2                 |
| HTC Desire            480 × 800        252ppi    1.5               |
| Nexus One             480 × 800        252ppi    1.5               |
| Sensation             960 × 540        256ppi    1.5               |
| Evo 3D                960 × 540        256ppi    1.5               |
| Sensation XE          960 × 540        256ppi    1.5               |
| LG Optimus 2X         480 × 800        233ppi    1.5               |
| Defy+                 854 × 480        265ppi    1.5               |
| Milestone             480 × 854        265ppi    1.5               |
| Nexus S SAMOLED       480 × 800        235ppi    1.5               |
| Nexus S LCD           480 × 800        235ppi    1.5               |
| Galaxy S Plus         480 x 800        233ppi    1.5               |
| Galaxy SII            480 × 800        219ppi    1.5               |
| Galaxy Tab            600 × 1024       171ppi    1.5               |
| iPad mini             1024 × 768       163ppi    1                 |
| iPhone                480 × 320        163ppi    1                 |
| iPhone 3G             480 × 320        163ppi    1                 |
| iPhone 3GS            480 × 320        163ppi    1                 |
| iPad (1st gen)        1024 × 768       132ppi    1                 |
| iPad 2                1024 × 768       132ppi    1                 |
| Kidle Fire            1024 × 600       169ppi    1                 |
| Galaxy Y (S5360)      240 × 320        133ppi    0.75              |
+--------------------------------------------------------------------+

(Sources)

请注意,您无需指定或定位每个设备。您只需遵循最小宽度或最小高度约定来定位设备。例如,如果您定义了以下页面:

  • your-page.xml
  • your-page.minW200.xml
  • your-page.minW300.xml

然后您将 your-page.xml 定位在 200 dp 以下,your-page.minW200.xml 从最低 200 dp 到 299 dp 和 your-page.minW300.xml 从最低 300 dp 到更高。

【讨论】:

  • 这很有帮助...谢谢... :D
  • 很高兴。对你有帮助。
  • 我只是需要澄清一些事情......如果我说 your-page.minW200.xml 那么这是否意味着我指的是基于Screen sizedpi在上表? :)
  • 这让我现在很困惑...... O_O
【解决方案2】:

屏幕密度不是一个精确的值,而是一个范围。

ldpi(low)     <=120dpi
mdpi (medium) 120dpi~160dpi
hdpi (high)   160dpi~240dpi 
xhpdi (extra-high)) 240dpi~320dpi 
xxhdpi (extra-extra-high)) 320dpi~480dpi 
xxxhdpi (extra-extra-extra-high)) 480dpi~640dpi 

另见:https://developer.android.com/guide/practices/screens_support.html

【讨论】:

  • 这与问题无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
相关资源
最近更新 更多