2011-11-01 90 views
0

在Android中需要多屏支持的帮助,我已经为3.2英寸的屏幕完成了。我已经为其中的布局和项目添加了一些硬编码的值。尺寸应该是可绘制的ldpi,mdpi,hdpi ?我要支持所有的屏幕(仅适用于手机),请帮助我..如何创建支持所有Android手机(屏幕和操作系统版本)的应用程序?

感谢

+0

请阅读本文档,您的所有问题都将得到解答,如果有任何疑问,请继续询问。 http://developer.android.com/guide/practices/screens_support.html可以告诉你图像大小的背景不是所有图标和图像按钮在你的应用程序中使用..所以请先阅读此。 – MKJParekh

+0

检查我现有的答案:http://stackoverflow.com/questions/7414178/multiple-screen-support-do-we-need-different-layouts-for-each-screen/7414264#7414264 –

回答

3

我认为通过阅读这个你应该比做好应对您的问题更多。我可以简单地解释如何做到这一点,但在阅读完本文后,您应该能够充分理解这是如何工作的。

如何支持多屏幕

的Android的多屏幕支持的基础是其管理在当前屏幕配置以适当的方式应用程序的布局和位图资源的渲染能力。系统处理大部分工作,通过按比例缩放布局以适合屏幕大小/密度,并根据屏幕密度缩放位图绘图,从而在每个屏幕配置上正确呈现您的应用程序。但是,为了更加优雅地处理不同的屏幕配置,您还应该: •在清单中明确声明应用程序支持哪些屏幕尺寸 通过声明您的应用程序支持哪些屏幕尺寸,可以确保只有支持屏幕的设备可以下载你的申请。声明对不同屏幕尺寸的支持也会影响系统如何在更大的屏幕上绘制应用程序 - 具体而言,您的应用程序是否以屏幕兼容模式运行。

要声明您的应用程序支持的屏幕尺寸,您应该将该元素包含在清单文件中。

•为不同的屏幕尺寸提供不同的布局 默认情况下,Android会调整您的应用程序布局以适合当前设备屏幕。在大多数情况下,这工作正常。在其他情况下,您的用户界面可能看起来不太好,可能需要针对不同的屏幕尺寸进行调整。例如,在较大的屏幕上,您可能需要调整某些元素的位置和大小以利用额外的屏幕空间,或者在较小的屏幕上,可能需要调整大小以使所有内容都可以放在屏幕上。

您可以用来提供特定大小的资源的配置限定符是small,normal,large和xlarge。例如,超大屏幕的布局应该放在layout-xlarge /中。

从Android 3.2(API级别13)开始,上面的大小组已被弃用,您应该使用swdp配置限定符来定义布局资源所需的最小可用宽度。例如,如果您的多窗格平板电脑布局需要至少600dp的屏幕宽度,则应将其放置在layout-sw600dp /中。关于为Android 3.2声明平板布局的部分将进一步讨论使用新技术来声明布局资源。

•提供针对不同屏幕密度 默认情况下,不同的位图资源,Android的扩展您的位图资源文件(.png,.jpg和.gif文件)和九宫绘项目(.9.png文件),以便他们提供在每个设备上以适当的物理尺寸。例如,如果您的应用程序仅为基准中间屏幕密度(mdpi)提供位图可绘制,则系统在高密度屏幕上缩放它们,并在低密度屏幕上缩小它们。这种缩放会导致位图中的伪像。为确保您的位图看起来最好,您应该为不同的屏幕密度提供不同分辨率的替代版本。

可用于密度特定资源的配置限定符为ldpi(低),mdpi(中),hdpi(高)和xhdpi(超高)。例如,高密度屏幕的位图应该放在drawable-hdpi /中。

尺寸和密度配置限定符对应于上面支持的屏幕范围中描述的广义尺寸和密度。

注意:如果您不熟悉配置限定符以及系统如何使用它们来应用替代资源,请参阅提供备用资源以获取更多信息。

在运行时,系统确保了对于任何给定资源的以下过程在当前屏幕上的最佳可能的显示: 1.系统使用基于该尺寸和当前画面的密度,适当的备选资源 系统使用应用程序中提供的任何大小和密度特定的资源。例如,如果设备具有高密度屏幕并且应用程序请求可绘制资源,则系统会查找最适合设备配置的可绘制资源目录。根据可用的其他替代资源,具有hdpi限定符(如drawable-hdpi /)的资源目录可能是最佳匹配项,因此系统将使用此目录中的可绘制资源。

2.如果没有匹配的资源可用,系统将使用默认的资源和规模向上或向下按需要来匹配当前屏幕尺寸和密度 “默认”资源是指那些没有被标注为配置预选赛。例如,drawable /中的资源是默认的可绘制资源。系统假定默认资源是为基准屏幕尺寸和密度设计的,这是正常的屏幕尺寸和中等密度。因此,系统会根据情况缩放高密度屏幕的默认密度资源,降低低密度屏幕的密度资源。

但是,当系统正在查找密度特定的资源并且未在密度特定的目录中找到它时,它不会始终使用默认资源。系统可以改为使用其他密度特定资源之一,以便在缩放时提供更好的结果。例如,当查找低密度资源并且该资源不可用时,系统倾向于缩减资源的高密度版本,因为系统可以轻松地将高密度资源缩减为低密度资源因子为0.5,与中等密度资源缩小0.75倍相比,伪影更少。

+0

你可以发布链接直接...没有努力复制...它会帮助其他人也查看完整的内容。 – MKJParekh

相关问题