【问题标题】:Android layout qualifier usageAndroid 布局限定符使用
【发布时间】:2012-11-09 08:40:53
【问题描述】:

同时工作和学习使用 Android,我注意到它的布局切换功能有一些奇怪/意外/不那么记录的行为,我还没有找到答案。

首先,正如文档所建议的那样,宽度和高度的限定符,例如 layout-w320dplayout-h320p,应该使用“标准”值 - 240、320、480、600 等等。虽然documentation 还提到考虑了有效可用空间,但它没有进一步提及这如何影响高度。例如,通过在 320dp 大模拟器屏幕上调用 getResources().getConfiguration().screenHeightDp,返回的可用高度为 295。因此,使用 layout-h320p 是不准确的,因为它不会在 320dp 屏幕上正确“激活”。

我正在写的关于适应小屏幕的内容具有(应该)处理两种情况的能力:一种是宽度不够,另一种是高度不够。我发现我无法强制模拟器为我的情况选择正确的布局:我有一个文件夹用于layout-w320p,另一个用于layout-h240p。在具有 320p 可用高度和 480p 可用宽度的模拟器上运行时,layout-w320p 会加载。怎么能均匀处理这两种情况呢?不能同时指定宽度和高度限定符。

第三,既然想要在 2.2 之前支持自己的应用程序,除了通过“经典”限定符(小、中、大、x-large)之外,还有什么方法可以支持不同的屏幕?

编辑:我使用了 small/medium/large/xlarge 限定符模式,因为我想要支持的最低版本是 2.2。我还使用了portland 限定符,Android 在布局方面的决策通过这种方式更加清晰,但上述问题仍然存在。

【问题讨论】:

    标签: android layout


    【解决方案1】:

    您可能没有考虑过可以组合两个或更多限定词?例如,您可以编写 layout-w320p-h240p 使布局为 320x240

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 2012-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多