gpt4 book ai didi

android - xlarge vs sw720dp 屏幕尺寸混淆

转载 作者:塔克拉玛干 更新时间:2023-11-02 18:53:26 31 4
gpt4 key购买 nike

供引用:http://developer.android.com/guide/practices/screens_support.html

旧式大小量词已“弃用”:

A set of four generalized sizes: small, normal, large, and xlarge Note: Beginning with Android 3.2 (API level 13), these size groups are deprecated in favor of a new technique for managing screen sizes based on the available screen width. If you're developing for Android 3.2 and greater, see Declaring Tablet Layouts for Android 3.2 for more information.

我希望 3.2+ 的设备仍会使用在 drawable-large-mdpi 或 layout-xlarge 中声明的资源,但情况似乎并非如此。

我有一个测试项目,其中包含每种尺寸的布局文件:

  • layout-sw600dp
  • layout-720dp
  • layout-xlarge
  • 布局

在运行 Android 4.0.x 的 10"Motorola XOOM 上,设备会选择 layout-720dp 文件夹中的布局。如果该文件夹不存在,它会选择 layout-sw600dp 文件夹中的布局!为什么它不会选择 layout-xlarge 中的布局吗?

更奇怪的是,我在这些文件夹中有可绘制对象:

  • drawable-sw600dp-mdpi
  • drawable-xlarge-mdpi

上面的 10"Motorola XOOM 从 drawable-sw600dp-mdpi 中选取图像。为什么它不选取 drawable-xlarge-mdpi 中的 drawable?

我们难道不应该期望 xlarge 量词在 Android 3.2 以上的系统上都能正常工作吗?

这是否意味着我必须将 drawable-xlarge-mdpi 文件夹中的所有资源复制到 drawable-sw720dp-mdpi 文件夹中? (支持 Android 3.0、3.1 和 3.2+?)

希望我在这里只是遗漏了一些简单的东西。请指教。

最佳答案

据我了解,对于 Android 3.2+,如果您至少有一个文件夹使用新的大小量词,那么它会假定您在所有地方都使用这些新的大小量词。所以这就是它忽略 layout-xlarge 或任何其他使用旧量词的文件夹的原因。

关于向后兼容性,您必须在您的项目中使用这两种类型的量词。旧的将用于 API < 3.2,新的将用于 API >= 3.2。为避免重复,您可以为布局使用别名。但是,对于可绘制对象,我不知道有什么解决方案可以避免重复。

关于android - xlarge vs sw720dp 屏幕尺寸混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11582600/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com