首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android上<supports screens>和<compatible screens>之间的区别

Android上<supports screens>和<compatible screens>之间的区别
EN

Stack Overflow用户
提问于 2014-02-18 09:59:10
回答 3查看 6.3K关注 0票数 20

我现在正式对这两个显着元素之间的区别感到困惑

我认为只有使用Google才能过滤掉不属于受支持屏幕列表的设备。应用程序不会显示在这些设备上的搜索结果中。

我认为使用是足够的,但它似乎不起作用!

我也需要包括在内吗?

有人能给我解释一下自然语言的区别吗。不幸的是,我没有发现谷歌的文档是那么清晰:

干杯

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-02-18 10:13:40

supports-screens 但是,如果您的应用程序在调整大小以适应不同屏幕大小时不能很好地工作,则可以使用元素的属性来控制应用程序是否应该分发到较小的屏幕,或者使用系统的屏幕兼容性模式将其UI放大(“缩放”)以适应较大的屏幕。 compatible-screens 在此元素中未声明的任何屏幕配置都是应用程序与其不兼容的屏幕。因此,外部服务(如Google )不应向具有此类屏幕的设备提供应用程序。

来源

因此,看起来支持-屏幕意味着您的应用程序的布局对特定的屏幕很好,并将在其他屏幕上进行缩放。

兼容屏幕意味着你的应用程序只与特定的屏幕和设备兼容。除了列出的设备外,屏幕配置的设备不会出现在Play商店中。

票数 20
EN

Stack Overflow用户

发布于 2014-02-18 10:51:37

描述

1.support-screens

它允许您指定应用程序支持的屏幕大小,并为比应用程序支持的屏幕更大的屏幕启用屏幕兼容性模式。如果应用程序适当调整大小以填充整个屏幕,则它“支持”给定的屏幕大小。系统应用的正常大小调整对于大多数应用程序都很好,您不需要做任何额外的工作来使应用程序在屏幕上工作,而不是手机设备。但是,通过提供替代资源(布局、绘图、图像等),为不同屏幕大小优化应用程序的UI通常是很重要的。

代码语言:javascript
复制
 <supports-screens 
              android:smallScreens="true"
              android:normalScreens="true"
              android:largeScreens="false"
              android:xlargeScreens="false"/>

如果您的应用程序不完全支持大型和xlarge,系统的屏幕兼容性模式将扩展(“缩放”) UI以适应更大的屏幕。由于您没有为更大的屏幕大小而设计,而且正常的调整大小并不能取得适当的结果,所以屏幕兼容性模式将通过模拟正常大小的屏幕和中等密度来扩展您的UI,然后放大以填充整个screen.However --这会导致UI的像素化和模糊。

2.compatible-screens

它指定应用程序兼容的每个屏幕配置。清单中只允许元素的一个实例,但它可以包含多个元素。每个元素指定应用程序兼容的特定屏幕大小密度组合。在此元素中未声明的任何屏幕配置都是应用程序与其不兼容的屏幕。

差分

a)支持屏幕

  1. 基本上,Android系统本身读取清单元素,然后启用屏幕兼容性模式。
  2. 重要的是,始终在应用程序中使用此元素来指定应用程序支持的屏幕大小。

( b)兼容屏幕

  1. Android系统不读取清单元素(无论是在安装时还是在运行时)。此元素仅提供信息,外部服务(如Google )可用于更好地理解应用程序与特定屏幕配置的兼容性,并为用户启用筛选。
  2. 通常,您不应该使用这个清单元素。使用此元素可以极大地减少应用程序的潜在用户数,因为如果用户有没有列出屏幕配置的设备,则不允许用户安装应用程序。当应用程序完全不能处理特定的屏幕配置时,您应该使用它作为最后的手段。
票数 15
EN

Stack Overflow用户

发布于 2017-04-10 00:29:23

是的,谷歌令人困惑,他们的文档需要大量的工作。他们说,如何使用“兼容屏幕”来实现特定屏幕的尺寸,然后在不同的情况下使用支持的屏幕。我认为这一段这里有助于明确在清单中使用兼容屏幕元素的影响(强调我的):

在这种情况下,可以使用元素根据屏幕大小和密度的组合来管理应用程序的分发。诸如Google这样的外部服务可以使用这些信息对应用程序应用过滤,这样只有您声明兼容的屏幕配置的设备才能下载您的应用程序。 元素必须包含一个或多个元素。每个元素都指定应用程序兼容的屏幕配置,同时使用android:screenSize和android:screenDensity属性。每个元素都必须包含两个属性才能指定单独的屏幕配置--如果缺少任何一个属性,那么元素就无效(比如Google之类的外部服务将忽略它)。

令人困惑的是,他们后来又加了这张便条

注意:虽然您也可以在反向场景中使用该元素(当应用程序与较小的屏幕不兼容时),但是如果您使用下一节中讨论的内容,则会更容易,因为它不要求您指定应用程序所支持的每个屏幕密度

“更容易”是相对于你的需求,这就是让我困惑的地方。然后他们继续说(强调我的):

警告:如果将元素用于反向场景(当应用程序与较大屏幕不兼容时),并将较大屏幕大小属性设置为"false",则诸如Google之类的外部服务不应用筛选。您的应用程序仍然可以用于更大的屏幕,但是当它运行时,它不会调整大小以适应屏幕。相反,系统将模拟手机屏幕大小(约320 dpx480 see;有关更多信息,请参见屏幕兼容性模式)。如果你想阻止你的应用程序被下载到更大的屏幕上,请使用,正如上一节所讨论的,声明应用程序只适用于手机。

因此,“兼容屏幕”似乎会迫使谷歌游戏商店根据屏幕配置进行过滤。“支持屏幕”元素会影响设备的屏幕兼容性模式,这与“兼容屏幕”不同。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21850115

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档