2012-07-12 120 views
2

我为我的应用程序设计了附加屏幕。该应用程序的目标Android 1.6及以上。目前该应用程序正在大多数hdpi和mdpi设备上运行,并且少数设备具有奇数分辨率,如1024x600 169dpi,1024x600 179dpi,1024x600 240dpi。我提供了替代布局来支持下面提到的文件夹中的多个屏幕。

布局:默认布局资源。
layout-hdpi:对于hdpi屏幕。我的项目中几乎没有任何布局需要针对此进行特别优化。
layout-mdpi:对于mdpi屏幕。我的项目中几乎没有任何布局需要针对此进行特别优化。
layout-large:大屏幕的默认布局资源。
布局大华电国际:具有分辨率华电国际的屏幕1024x600的
布局sw400dp-V11布局资源:
这主要是针对7" 平板电脑只是运行蜂窝或以上的能够识别该设备

。现在我还需要添加对qHD屏幕(540x960具有256 dpi或类似)的支持。下面是我需要设计和添加对qHD屏幕支持的示例屏幕。此屏幕截图采用HTC Incredible S,分辨率为480x800,分辨率为240 dpi 。如何为qHD(540x960分辨率,256 dpi)屏幕提供替代资源

enter image description here

我设计了qHD屏幕的布局,以使它在这些屏幕上看起来也一样。现在

,我有以下问题:我有正确的目录结构提供替代资源,考虑到我需要支持华电国际,MDPI和上面提到的奇屏幕

1.是谁?如果不是,我应该如何为这些屏幕提供替代资源?我真的需要设计单独的文件,以便UI在多个屏幕分辨率和密度下看起来相同。

2. qHD屏幕有256 dpi。这意味着这些屏幕是hdpi屏幕。我已经拥有了大部分设备的hdpi屏幕资源。但是当我在qHD屏幕上查看它时,它看起来像下面的屏幕截图。那么,如何为qHD屏幕提供替代资源,使其不会影响我目前在大多数设备上显示良好的布局资源?

enter image description here

@Espiandev
甲的qHD,HDPI装置具有为360x640的显示无关的像素(DIP)的屏幕尺寸,而Incredible S的的是320x533因此为什么一些图像是屏幕相对较高的上给他人。所以基本上,qHD设备可以展示更多的东西,每个屏幕上的Incredible S。请参阅此处查看DIP的解释和其他提示
- 感谢您的洞察。我意识到这一点。我也读过Dianne Hackborn的帖子; “用于管理屏幕尺寸的新工具” - http://android-developers.blogspot.in/2011/07/new-tools-for-managing-screen-sizes.html

从目前看来,您目前在目标/增益/部分上使用了一些边距或填充,我会建议将其重力更改为底部即将它们对齐到屏幕的底部),然后在项目下方使用边距或填充。
- 不,我没有使用填充或边距这些部分。它是一个相对布局,其中目标/增益/转换按钮低于该米磁带按钮。正如你所建议的将重力设置为底部并具有底部填充;是的,我也试过了,但那米磁带按钮和这些圆圈之间的距离增加了,我必须修改这些眼镜之间的尺寸和边距,下面的按钮和创建不同布局文件的磁带按钮。当您在小屏幕设备上查看此屏幕时,视图会重叠,因为小屏幕设备可能会显示较少的视图。

但我想使你的应用程序适用于屏幕,而不是企图分裂的屏幕尺寸达到这样的工作,因为你真的不应该需要单独的布局资源MDPI,华电国际等
- 我同意,通常我不应该需要单独的mdpi和hdpi屏幕布局。但是这里的要求是屏幕在所有屏幕上都应该完全一样。比如,该黄圈内的所有视图都不应该超出该圈子。该中心的按钮应始终位于中心。另外,顶部和底部磁带按钮上的3个小圆圈的相对大小应该相同。这让我无法为mdpi和hdpi屏幕创建不同的布局。

我为qHD屏幕创建了不同的布局文件。现在我的问题是我在哪里放置这样qHD设备将使用该文件和其他设备将继续工作,因为那些正在工作。

回答

0

qHD,hdpi设备的显示无关像素(DIP)屏幕尺寸为360x640,而Incredible S的屏幕尺寸为320x533,因此为什么某些图像相对于其他屏幕更高。所以基本上,qHD设备可以展示更多的东西,每个屏幕上的Incredible S。请参阅here了解DIP及其他一些技巧。

在令人难以置信的S和qHD设备上,没有真正的方法使界面看起来完全一样。与iOS设备不同,屏幕尺寸非常多样。从目前看来,你目前在目标/增益/部分之上使用了一些边距或填充,我会建议将它们的重力更改为底部(即将它们对齐到屏幕底部),然后使用该项目下方的边距或填充。这样它将有望与您的午餐/晚餐盒保持一致。如果您发布您的XML文件,这将有助于诊断问题。

在Android 3.2之前,我不认为有办法区分上述两种情况,但在3.2之后,可以使用swXXXdp(最短宽度)属性。但我会努力让您的应用适应屏幕,而不是像这样分割屏幕大小,因为您不应该真的需要单独的mdpi,hdpi等布局资源。

+0

请参阅我编辑的问题。 – 2012-07-13 06:44:10

+0

在令人难以置信的S和qHD设备上,没有真正的方法让用户界面看起来完全一样。与iOS设备不同,屏幕尺寸非常多样。 – 2012-08-06 14:45:51