【问题标题】:w qualifer not working as expected (not using expected layout)w 限定符未按预期工作(未使用预期布局)
【发布时间】:2014-01-24 19:43:49
【问题描述】:

我今天一直在创建一些测试来检查 w 限定符在 android 中是如何工作的。我的想法是,我想要不同的布局用于小于或等于 320dp、小于或等于 480dp 以及小于或等于 720dp 的屏幕。我在 Eclipse 中有这 3 个文件夹(layout-320dp、layout-w480-dp 和 layout-w720dp)。问题是,当我用不同的屏幕配置预可视化布局时,我看到 android 没有使用预期的布局。一些例子:

  1. 480x800 的 Nexus One 应采用 w480 布局,但采用 w320 布局
  2. 具有相同分辨率的 Nexus S 做同样的事情
  3. 800x1280 的 Nexus 7 应该采用 w720 中的布局,但它采用 w480 中的布局

有人能猜到发生了什么吗?

提前致谢。

【问题讨论】:

    标签: android android-layout android-resources screen-resolution


    【解决方案1】:

    如果我没记错的话,你需要使用layout-sw720dp 等,按屏幕宽度。

    我假设您已经为这些屏幕计算了正确的像素到 dp。例如,我有一个 Nexus 7,我知道它需要来自 layout-sw600dp 而不是 720dp 的可绘制对象和布局。 720dp 适用于 10 英寸屏幕。从屏幕宽度工作。您的错误是选择了错误的文件夹。

    当然也请看这里,因为它包含大量信息,它将提供您需要的一切: http://developer.android.com/guide/practices/screens_support.html

    【讨论】:

    • w 也是一个有效的配置限定符。它仅指宽度。 sw 限定符是指宽度和高度之间的最小尺寸。我认为我的问题可能是您所说的,1 像素的分辨率与 1 dp 的分辨率相匹配,这显然是错误的。我必须正确计算出 dpi 的分辨率。必须检查一下。
    • 很公平,我已经习惯了 sw,这就是我提到它的原因。 1 像素绝对不是你说的 1dp,所以这可能是你的错误所在。有一些转换器,例如:labs.rampinteractive.co.uk/android_dp_px_calculator
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-28
    • 1970-01-01
    相关资源
    最近更新 更多