zoukankan      html  css  js  c++  java
  • Android开发-API指南-<compatible-screens>

    <compatible-screens>

    英文原文:http://developer.android.com/guide/topics/manifest/compatible-screens-element.html
    采集(更新)日期:2014-6-30
    搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300100zmub.html

    语法:
    <compatible-screens>
        <screen android:screenSize=["small" | "normal" | "large" | "xlarge"]
                android:screenDensity=["ldpi" | "mdpi" | "hdpi" | "xhdpi"] />
        ...
    </compatible-screens>
    包含于:
    <manifest>
    说明:
    指定应用程序所兼容的屏幕参数。 Manifest 文件中只能出现一次 <compatible-screens> 元素的实例,但该元素中可以包含多个 <screen> 元素。 每个 <screen> 元素定义了一种可兼容的屏幕尺寸-密度组合。

    Android 系统并不会读取 Manifest 文件中的 <compatible-screens> 元素(安装和运行时都不会)。 该元素只是作为一种可被外部服务(比如 Google Play )使用的信息,以便更好地了解应用程序对各种屏幕的兼容性,并对用户启用过滤机制。 在该元素中声明的屏幕参数即表示此应用程序对它不兼容。 这样,外部服务(比如 Google Play )就不会为这些屏幕的设备提供此应用程序。

    提醒:通常, 请勿使用本 Manifest 元素 。 如果用户设备的屏幕参数未能列出,则这些用户就无法安装该应用程序,因此使用本元素可能会大幅减少潜在的用户群体。 仅当程序确实无法在所有屏幕参数下运行时,才作为最后手段使用本元素。 作为替代手段,请按照 支持多种屏幕的指导, 通过对应于各种屏幕尺寸和密度的替代 Layout 和位图,为多种屏幕提供可缩放的支持方案。

    如果只是要为应用程序设置一个最小屏幕尺寸,应该使用 <supports-screens> 元素。 比如,应用程序只支持 largexlarge 屏幕的设备,就可以在<supports-screens> 中元素声明不支持 smallnormal 屏幕尺寸。 外部服务(比如 Google Play)将据此对应用程序进行过滤。 还可以用 <supports-screens>元素来声明系统是否可以改变应用程序的大小来适应各种屏幕尺寸。

    关于 Google Play 如何利用本元素及其他 Manifest 元素来对应用程序进行过滤,详情请参阅 Google Play 的过滤器文档。

    子元素:
    <screen>
    定义应用程序兼容的一种屏幕参数。

    <compatible-screens> 中必须至少包含本元素的一个实例。 本元素必须同时包含 android:screenSizeandroid:screenDensity 属性(否则本元素将被忽略)。

    属性:

    android:screenSize
    必填项。定义本条屏幕参数中的屏幕尺寸。

    可接受的值:

    • small
    • normal
    • large
    • xlarge

    关于各种屏幕尺寸的更多信息,请参阅支持多种屏幕

    android:screenDensity
    必填项。定义本条屏幕参数中的屏幕密度。

    可接受的值:

    • ldpi
    • mdpi
    • hdpi
    • xhdpi

    注意: 本属性目前不接受 xxhdpi 值,但可以用 480 来替代,这是最接近 xhdpi 的密度值。

    关于屏幕密度的详细信息,请参阅支持多种屏幕

    示例:

    如果应用程序不论屏幕密度如何都只能兼容 small 和 normal 大小的屏幕,那就必须指定八种不同的 <screen> 元素, 因为每种屏幕尺寸下都有四种不同的密度配置。 每一种组合都必须声明,任何未经声明的尺寸和密度都被视为应用程序不兼容的屏幕参数。 假如应用程序只兼容 small 和 normal 屏幕的话,Manifest 的配置应该类似于这样:

    <manifest ... >
        ...
        <compatible-screens>
            <!-- all small size screens -->
            <screen android:screenSize="small" android:screenDensity="ldpi" />
            <screen android:screenSize="small" android:screenDensity="mdpi" />
            <screen android:screenSize="small" android:screenDensity="hdpi" />
            <screen android:screenSize="small" android:screenDensity="xhdpi" />
            <!-- all normal size screens -->
            <screen android:screenSize="normal" android:screenDensity="ldpi" />
            <screen android:screenSize="normal" android:screenDensity="mdpi" />
            <screen android:screenSize="normal" android:screenDensity="hdpi" />
            <screen android:screenSize="normal" android:screenDensity="xhdpi" />
        </compatible-screens>
        <application ... >
            ...
        <application>
    </manifest>
    引入自:
    API 级别 9
    参阅:
    支持多种屏幕
    Google Play 的过滤器
  • 相关阅读:
    使用idea进行远程调试
    map根据属性排序、取出map前n个
    编写shell脚本一键启动 重启 停止springboot jar包
    IDEA给类和方法配置注释模板(参数换行显示)
    springboot文件上传报错
    WebMvcConfigurer 与 WebMvcConfigurationSupport避坑指南
    WebMvcConfigurerAdapter详解和过时后的替代方案
    springboot上传文件过大,全局异常捕获,客户端没有返回值
    javascript中Math.random()产生随机数总结
    关于微信中的localStorage及使用cookie的解决方案
  • 原文地址:https://www.cnblogs.com/popapa/p/android_compatible-screens-element.html
Copyright © 2011-2022 走看看