zoukankan      html  css  js  c++  java
  • <supportsscreens>标签

    语法:

    <supports-screens 
       android:resizeable=["true"| "false"]            // 已经deprecated, 默认true。若为false在large screen屏幕上会是screen compatibility mode.
     
       android:smallScreens=["true" | "false"]       // 默认为true, 在google play上,会根据用户手机的屏幕大小和各个应用设置的xxxscreens值来筛选可见的应用.
       android:normalScreens=["true" | "false"]    // 默认为true, 同上            
       android:largeScreens=["true" | "false"]       // 默认值不同的版本不一样,最好一直明确的设置这个值。若为false,会是screen compatibility mode.                       
       android:xlargeScreens=["true" | "false"]      // 同上largeScreens,API LEVEL 9开始引入
     
       android:anyDensity=["true" | "false"]         //1.6以上默认为true,BitmapFactory.decodeResource和ImageView上设置的图片,会

                                                                        //根据图片所在的目录和手机的屏幕密度,进行预缩放.若为false,手机屏幕密度将会默认为mdpi,再进行缩放。
     
       android:requiresSmallestWidthDp="integer"     //Android 3.2             
       android:compatibleWidthLimitDp="integer"      //Android 3.2                 
       android:largestWidthLimitDp="integer"            //Android 3.2  
    />

    =================================================

    ImageView的layout_width和layout_height:wrap_content    wrap_content
    手机分辨率:hdpi  480*800
    测试图片的分辨率: 96x96
    -----------------
    默认
    设置图片的 src或background, 下面是图片放在不同的目录下,得到的ImageView的宽和高:
    drawable-ldpi   192x192
    drawable-mdpi   144x144
    drawable-hdpi   96x96
    drawable-xhdpi   72x72
    drawable-nodpi   96x96
    drawable    144x144


    anyDensity="false"  android:resizeable无影响
    设置图片的 src或background,下面是图片放在不同的目录下,得到的ImageView的宽和高:      
    drawable-ldpi  128x128
    drawable-mdpi  96x96
    drawable-hdpi  64x64
    drawable-xhdpi  48x48
    drawable-nodpi  96x96
    drawable   96x96


    1. 对 BitmapFactory.decodeResource, 得到Bitmap的宽和高, 的影响和上面是一样的。图片也会进行预缩放。
    2. 如果图片所在地目录和当前手机的屏幕密度一致,则图片不进行预缩放,否则按比例进行缩放。
    3. 设置了 <supports-screens android:anyDensity="false" />  , 图片预缩放的时候会设定当前手机的屏幕密度是mdpi。
    4. 放在drawable-nodpi下的图片不会按屏幕密度进行预缩放,而是按原始的像素大小。
    5. drawable下单图片同 drawable-mdpi

    =================================================

     

    包含于:

    <manifest>

     

    说明:

    指定应用程序支持的屏幕尺寸,并对大于程序支持的屏幕启用屏幕兼容模式。总是用本元素来指定程序支持的屏幕尺寸是非常重要的。

    所谓应用程序“支持”的屏幕尺寸,是指程序能够自动缩放来填充整个屏幕。通常系统提供的缩放功能可以适用于大多数应用程序,不必做什么额外的调整工作就能让程序在屏幕更大的手持设备上正常运行。但是常常要利用替代布局资源优化用户界面以适应各种屏幕尺寸。比如,为了区别在平板设备和手持设备上的运行,可能需要修改activity的布局。

    然而,如果程序为适应不同的屏幕尺寸进行缩放后不能正常运行,可以利用<supports-screens>元素的属性进行限制,使得程序只能在小屏幕上运行,或使用系统的屏幕兼容模式来缩放用户界面以适应较大的屏幕。如果没有考虑大屏幕的设计并且正常的缩放不能获得理想的结果,屏幕兼容模式将会通过仿真正常尺寸的屏幕和中等屏幕密度来确定用户界面的缩放比例,然后进行缩放来填充整个屏幕。注意这会导致用户界面的像素化和模糊,因此最好是为大屏幕对用户界面进行优化。

    注意:Android 3.2引入了新的属性:android:requiresSmallestWidthDpandroid:compatibleWidthLimitDpandroid:largestWidthLimitDp。如果是开发Android 3.2以上版本的应用程序,应该使用这些属性来声明对屏幕尺寸的支持,而不是用基于普通屏幕尺寸的属性。

    关于支持各种屏幕尺寸、避免使用屏幕兼容模式的详情,请参阅支持多种屏幕

    属性:

    android:resizeable

    指明应用程序是否根据不同的屏幕尺寸进行缩放。如果设为否,则在较大屏幕上系统将以屏幕兼容模式运行应用程序。

    本属性已过时。为了帮助程序从Android 1.5升级为1.6才引入本属性,当时第一次引入了对多种屏幕的支持。不应再使用本属性。

    android:smallScreens

    指明应用程序是否支持较小屏幕。较小的屏幕是指小于“normal”(传统的HVGA)大小的屏幕。不支持小屏幕的应用程序将在外部服务(比如Android Market)中禁止用于小屏幕设备,因为只有很少一部分平台能让程序运行在小屏幕上。缺省值是“true”。

    android:normalScreens

    指明应用程序是否支持“normal屏幕尺寸。传统意义上指的是中等密度的HVGA 屏幕,但低密度的WQVGA和高密度的WVGA一般也被视为是正常尺寸。缺省属性是“true”。

    android:largeScreens

    指明应用程序是否支持大屏幕尺寸。大屏幕是指明显比“normal”手持设备屏幕更大的尺寸。虽然依赖于系统的缩放也能全屏显示,但为了更好的用户体验可能需要对程序组件进行特定的处理。

    本属性的缺省值依版本而各不相同,因此最好是一直都明确声明这个属性。注意设为“false”将总是启用屏幕兼容模式

    android:xlargeScreens

    指明应用程序是否支持超大屏幕尺寸。超大屏幕是指明显比“large”屏幕更大的尺寸,比如平板设备(或更大),虽然依赖于系统的缩放也能全屏显示,但为了更好的用户体验可能需要对程序组件进行特定的处理。

    本属性的缺省值依版本而各不相同,因此最好是一直都明确声明这个属性。注意设为“false”将总是启用屏幕兼容模式

    本属性自API level 9引入。

    android:anyDensity

    指明应用程序是否包含适用于任何屏幕密度的资源

    对于支持Android 1.6 (API level 4)以上版本的应用程序而言,本属性缺省值是“true”。除非绝对确认程序必须要能运行,不应设为“false”。只有应用程序要直接操作位图时(详情参阅支持多种屏幕文档),才可能需要禁用此选项。

    android:requiresSmallestWidthDp

    指定程序所需的smallestWidth最小值。smallestWidth是指可被程序用户界面使用的屏幕可用空间的最小值(单位为dp)——指可用屏幕两边中最短的那条边长。为了保证与应用程序兼容,设备的smallestWidth必须大于等于本属性值。(通常此值对应于布局layout所支持的“最小宽度”,而与屏幕当前的方向无关。)

    例如,典型的手持设备的最小宽度是320dp7英寸的平板设备的最小宽度是600dp10英寸的平板设备的最小宽度是720dp。因为这些值即为屏幕可用空间的最小值,所以一般也即是smallestWidth的值。

    在计算屏幕上的组件排列和系统用户界面大小时会与本属性值进行比较。例如,如果设备屏幕上需要显示一些永久性的用户界面元素,这些元素占用的屏幕位置对于其它用户界面元素是不可用的,通过对这些元素尺寸进行计算,系统声明的设备smallestWidth会比实际屏幕尺寸要小些。因此,应该用layout所需的最小宽度来设置此值,而与屏幕的方向无关。

    如果应用程序能在小屏幕上正确缩放(最低是small尺寸或最小宽度320dp),那就不需要用到本属性。否则,就应该为最小屏幕宽度标识符设置本属性来匹配应用程序所需的最小尺寸。

    警告:Android系统并不关心本属性,因此它不会影响程序运行时的表现。它是用于为诸如Android Market之类的服务启用过滤功能。不过,Android Market 当前还不支持对这个属性的过滤Android 3.2),因此如程序不支持小屏幕的话还应继续使用其它屏幕尺寸的属性来进行限制。

    本属性自API level 13引入。

    android:compatibleWidthLimitDp

    通过指定程序支持的“最小屏幕宽度”的最大值,本属性可启用屏幕兼容模式作为用户可选项。如果设备可用屏幕的最小边长大于在此设置的值,用户将仍可以安装程序,但会运行在屏幕兼容模式。缺省情况下,屏幕兼容模式将被关闭,layout将如常缩放至全屏显示,但系统状态栏中会出现一个按钮,用户可以用此按钮来开关屏幕兼容模式。

    如果应用程序能兼容所有的屏幕尺寸,layout也能正确缩放,那就不需要用到本属性。

    注意:目前屏幕兼容模式只能在手持设备上仿真320dp宽度的屏幕,因此android:compatibleWidthLimitDp大于320时屏幕兼容模式将不会生效。

    本属性自API level 13引入。

    android:largestWidthLimitDp

    通过指定程序支持的“最小屏幕宽度”的最大值,本属性可强制开启屏幕兼容模式。如果设备屏幕的最小边长大于本属性值,应用程序将运行在屏幕兼容模式,且用户无法将其关闭。

    如果应用程序能兼容所有的屏幕尺寸,layout也能正确缩放,那就不需要用到本属性。不然也应优先考虑使用android:compatibleWidthLimitDp属性。仅当应用程序缩放到大屏幕时会崩溃,屏幕兼容模式是用户使用的唯一方式,才会用到android:largestWidthLimitDp属性。

    注意:目前屏幕兼容模式只能在手持设备上仿真320dp宽度的屏幕,因此android:largestWidthLimitDp大于320时屏幕兼容模式将不会生效。

    本属性自API level 13引入。

  • 相关阅读:
    周总结14
    周总结13
    周总结12
    周总结11
    周总结10
    Pytorch实现GCN、GraphSAGE、GAT
    pytorch在损失函数中为权重添加L1正则化
    conda安装虚拟环境或者软件包时一直报错
    各种报错
    Pytorch-torchtext的使用
  • 原文地址:https://www.cnblogs.com/zijianlu/p/3099470.html
Copyright © 2011-2022 走看看