【问题标题】:Android - standard layout folder, which screen size?Android - 标准布局文件夹,哪个屏幕尺寸?
【发布时间】:2013-10-02 21:42:36
【问题描述】:

我正在实现一个应用程序,我想支持所有屏幕尺寸。我有 4 个布局文件夹:layout、layout-small、layout-large 和 layout-xlarge。

哪种屏幕尺寸支持标准布局文件夹?甚至有必要吗?

【问题讨论】:

  • 布局文件夹与屏幕大小无关。仅屏幕 DENSITY。

标签: android layout screen


【解决方案1】:

哪种屏幕尺寸支持标准布局文件夹?

在您的情况下,这取决于目录中的文件。

假设您在layout/ 中有main.xml,而在其他三个候选人中没有。然后,setContentView(R.layout.main) 将使用layout/ 中的副本。

现在,假设您在layout-xlarge/ 中添加了main.xml 的修订版本。在-xlarge 设备上,Android 将使用main.xmllayout-xlarge/ 版本,而在其他屏幕尺寸上,Android 将使用main.xmllayout/ 版本。

现在,假设您添加了第三个main.xml 版本,这次是layout-small/。对于-xlarge 设备,Android 仍将使用main.xmllayout-xlarge/ 副本。但是,所有其他设备将使用layout-small/,并且main.xmllayout/ 副本将被忽略。 Android 不会尝试从较大尺寸缩小布局(例如,-normal 设备上的 -xlarge 布局),但会尝试从较小尺寸扩展布局(例如,@ 上的 -small 布局) 987654343@设备)。

我倾向于将layout/ 用于:

  • 不需要针对不同尺寸的不同版本的布局
  • -normal 设备上使用的布局(因为我很少支持-small

然后,我使用 layout-large/layout-xlarge/ 或它们的 Android 3.1+ 替代品(例如,layout-w720dp/)将布局用于更大的屏幕尺寸。

不过,这只是我的特殊风格,欢迎您在上述使用规则范围内为所欲为。

【讨论】:

    【解决方案2】:

    使用现代符号是更好的解决方案:

    /layout // for phones
    /layout-sw600dp // for 7 inch tablets
    /layout-sw720dp // for 10 inch tablets
    

    【讨论】:

      【解决方案3】:

      流行:

      Mdpi 屏幕智能手机便宜 hdpi屏幕智能手机很贵。

      如果您仅使用 mdpi 文件夹布局,则此布局将用于所有屏幕

      传说:

      layout-small = ldpi
      layout = mdpi
      layout-large = hdpi
      layout-xlarge = xhdpi
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-10-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多