【问题标题】:Galaxy Note II - values-xhdpi or values-large?Galaxy Note II - values-xhdpi 还是 values-large?
【发布时间】:2014-08-07 01:18:04
【问题描述】:

如果我同时拥有 values-xhdpi 和 values-large 资源,galaxy note II 可以使用哪个资源?我没有用于测试的设备,模拟器只能带我到此为止。

有什么想法吗?

【问题讨论】:

  • 把两个文件夹中的值都放到log-cat中打印出来。我还没测试过。

标签: android android-layout


【解决方案1】:

根据precedence tablelargexhdpi 之前,因此values-large 的值将在实际设备上使用。

这里有一个重要说明,如果设备实际上声明自己具有大屏幕,就会发生这种情况。但是,设备对此并不是很一致,因此我会考虑将资源添加到 sw600dp 之类的文件夹中,因为它更可靠。有关更多详细信息,请阅读上面的链接,并在 best practices 中查看如何使用它们。

【讨论】:

  • 两个不同的Note II设备使用不同的布局是否正常?我有一个与 xhdpi 配套的设备和另一个与 large 配套的设备。 xhdpi 使用的是自定义 rom.. 所以也许是这样。
  • @aviran 这绝对是可能的。这正是我建议您使用精确屏幕尺寸的原因。
  • 请记住,Google 的文档天真地假设您不想支持低于 Android 3.2 的任何东西
  • @CoryTrese 如果您使用像sw600dp 这样的限定符,这并不意味着该应用程序不会在Android 3.2 之前的任何设备上运行(阅读:在2.3 上),它只是不会运行能够使用这些资源。但 Android 2.3 无论如何都不支持平板电脑,因此您不必担心早期版本的屏幕尺寸。
【解决方案2】:

这是一个限定符优先级表:

http://developer.android.com/guide/topics/resources/providing-resources.html#table2

Android 支持多个配置限定符,您可以将多个限定符添加到一个目录名称,方法是用破折号分隔每个限定符。表 2 按优先顺序列出了有效的配置限定符 - 如果您对资源目录使用多个限定符,则必须按照它们在表中列出的顺序将它们添加到目录名称中。

阅读这部分:

http://developer.android.com/guide/topics/resources/providing-resources.html#BestMatch

它会先在-large 中找到它,然后忽略-xhdpi 一个,所以看起来-large 优先于-xhdpi

编辑:同意的其他人:https://stackoverflow.com/a/10685580/833647

【讨论】:

    【解决方案3】:

    我注意到,对于 Galaxy S3 和 S4

    values-sw360dp
    

    有效。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-15
      • 2016-03-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多