【问题标题】:Samsung Galaxy S3 and HTC Sensation use the wrong layout file三星 Galaxy S3 和 HTC Sensation 使用了错误的布局文件
【发布时间】:2013-07-08 17:49:30
【问题描述】:

三星 Galaxy S3 和 HTC Sensation 都符合 layout-sw360dp 的类别。

银河 S3 > (720/320) x 160 = 360

感觉 > (540/240) x 160 = 360

但是,当我尝试创建布局文件夹 layout-w540dp-h960dp 时。它不会从中读取,而是从文件夹 layout-sw360dp 中读取。

如何防止这种情况并在其特定布局内进行每次加载?以及为什么 layout-w540dp-h960dp 不起作用?

【问题讨论】:

  • 你有什么问题?
  • @Budius 我的帖子已编辑。请看一看。
  • @CoreyScott 你能说得更具体些吗?
  • @CoreyScott 在第二个答案中也有一些没有意义的东西。建议使用 layout-sw720dp (我这样做了,并且在 layout-sw360dp 文件夹存在的情况下,它仍然是未读的,即使 layout-sw720dp 不能工作,因为 S3 是 xhdpi 设备。)你有什么建议/提示/解决方案?我需要在不同的布局上制作 Sensation 和 S3。
  • 编辑:删除“聊天”cmets 并从答案 #2 复制最后一条评论,似乎我错了,它按预期工作。 “Galaxy S3 是 xhdpi 设备,因此您必须将基于像素的维度除以 2 才能获得以 dp 为单位的维度。因此 S3 的高度为 640dp,宽度为 360dp。– navale 2012 年 10 月 19 日 7:57”

标签: android layout size screen dimension


【解决方案1】:

这是因为layout-sw<N>dp 的优先级高于layout-w<N>dp

在 Android 中,资源文件夹限定符是根据特定的优先规则选择的。有一个look at this table。它指定了所有可用于提供替代资源的可用配置限定符。

根据该表,layout-sw<N>dp 的优先级高于layout-w<N>dp。因此,如果出现冲突,Android 总是选择最高的配置限定符。

在这里,您的两个设备都可以从layout-sw360dp 获取资源。所以两台设备都使用同一个文件夹来选择资源。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-09
    相关资源
    最近更新 更多