【问题标题】:Will this work on all screen sizes?这适用于所有屏幕尺寸吗?
【发布时间】:2015-12-16 09:20:33
【问题描述】:

我最近一直在针对所有屏幕尺寸优化我的应用进行大量研究。为了适应各种尺寸,我为每种布局创建了 9 个。

layout 目录下的其他两个布局不用担心,以后我会再做 8 个

(Android 视图)

有些文章说有更多的布局,但是什么?我错过了什么吗? 我做对了吗?

我对我的屏幕尺寸有些怀疑,因为互联网上的很多人有不同的方式来定位不同的设备,这是正确的吗?

    <compatible-screens>
        <screen
            android:screenDensity="ldpi"
            android:screenSize="small" />
    <screen
        android:screenDensity="mdpi"
        android:screenSize="normal" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="large" />
    <screen
        android:screenDensity="xhdpi"
        android:screenSize="xlarge" />
</compatible-screens>

我需要添加更多兼容的屏幕吗?因为其他文件有很多。我的应用会在所有设备(例如平板电脑)上显示吗?

为了针对所有设备(如平板电脑和手机)进行优化,我是否遗漏了什么?我必须在清单中创建任何新布局或添加更多兼容的屏幕权限吗?

【问题讨论】:

    标签: android xml performance android-activity optimization


    【解决方案1】:

    使用这个

    <supports-screens
            android:anyDensity="true"
            android:xlargeScreens="true"
            android:largeScreens="true"
            android:normalScreens="true"
            android:smallScreens="true" />
    

    应用程序“支持”给定的屏幕大小,如果它正确调整大小 填满整个屏幕。系统应用的正常调整大小工作 适用于大多数应用程序,您无需做任何额外的工作 让您的应用程序在比手机设备更大的屏幕上运行。 但是,优化应用程序的 UI 通常很重要 通过提供替代布局资源来适应不同的屏幕尺寸。 例如,您可能想在以下情况下修改活动的布局 与在手机设备上运行相比,它在平板电脑上运行。

    请阅读关于Declare Support for Tablet Screens & supports-screens 的官方文档。希望对你有帮助。

    <compatible-screens>
    <!-- all normal size screens -->
    <screen android:screenSize="normal" android:screenDensity="mdpi" />
    <screen android:screenSize="normal" android:screenDensity="hdpi" />
    <screen android:screenSize="normal" android:screenDensity="xhdpi" />
    <!-- all large size screens -->
    <screen android:screenSize="large" android:screenDensity="mdpi" />
    <screen android:screenSize="large" android:screenDensity="hdpi" />
    <screen android:screenSize="large" android:screenDensity="xhdpi" />
    <!-- all xlarge size screens -->
    <screen android:screenSize="xlarge" android:screenDensity="mdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="hdpi" />
    <screen android:screenSize="xlarge" android:screenDensity="xhdpi" />
    

    致谢Optimizing Android manifest file for largest number of supported devices

    【讨论】:

    • 好的,我的布局文件夹中是否缺少任何内容?我应该只有9个吗?我的应用会出现在平板电脑上吗?
    • 是的,我阅读了这两个链接。还是不知道布局文件夹够不够
    • compatible-screens 看起来很完美。
    • 不,这就是我现在要问的。我的问题是 9 个布局文件夹是否足以满足所有屏幕尺寸。看看我的屏幕截图,它适用于所有屏幕尺寸吗?
    • 好的,谢谢,所以我实际上只包含supportsScreens。那么,您绝对确定我的应用程序会出现在每台制造的 Android 设备上吗? (不包括 min sdk 下的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多