2013-03-06 132 views
0

我已经开发了一个Android应用程序与详细的资源结构为:我的文件夹drawable-hdpi内我在高分辨率的所有图像和事后我创建的布局,为不同的屏幕分辨率为layout-hdpilayout-largelayout-xlarge和其他一些。Android应用屏幕分辨率问题

我没有得到高分辨率的模拟器如Nexus 710.1 WXGA(Tablet)7.1 WSVGA(Tablet)等的准确布局......它没有把我的精确设计对于那些屏幕尺寸,它总是请参阅“布局”,而比layout-xlarge

有谁知道为什么我的单独布局没有被使用?

+0

你使用'Linear Layout'吗? – Nezam 2013-03-06 05:03:12

回答

0

在您想要的地方使用您的字段,例如图像,文本视图或编辑文本。 在每个布局中清楚地对齐它们。

layout for the normal mobiles devices(mdpi) 
layout-large for the hdpi devices like nexus 
layout-xlarge for the xhdpi devices like tablets 

我们可以知道你的问题很明显,如果您发布的代码,这将是一个好很多。

创建一个drawable文件夹并放置图像。

2

使用layout-large,不再推荐layout-xlarge。谷歌称使用sw *布局来定位平板电脑。

例如,要定位7英寸平板电脑,请将布局放置在layout-sw600dp之间。对于10英寸的平板电脑,请将它们放入layout-720dp

唯一的例外是针对有问题的设备,例如运行android 2.x的原始星系标签,由于布局分辨率的错误,您需要创建一个名为layout-xlarge-land的文件夹并将布局放置在那里。

此外,不要只有高分辨率的图像和转储他们在hdpi。正确地缩放图像并将它们放入mdpi,hdpi,xhdpi等。

大多数情况下,这会导致应用程序的加载时间更快,并且APK尺寸更小,因为您未捆绑“高分辨率图像“,并根据请求让框架按比例缩放图像。由于位图存储在java堆中,所以包中未优化的图像也会带来内存使用的后果。在androidmanifest文件

<supports-screens android:resizeable=["true"| "false"] 
       android:smallScreens=["true" | "false"] 
       android:normalScreens=["true" | "false"] 
       android:largeScreens=["true" | "false"] 
       android:xlargeScreens=["true" | "false"] 
       android:anyDensity=["true" | "false"] 
       android:requiresSmallestWidthDp="integer" 
       android:compatibleWidthLimitDp="integer" 
       android:largestWidthLimitDp="integer"/> 

+0

我不能满足这一点。 *这是*正确的答案。 – kcoppock 2013-03-06 05:28:52

0

认沽屏幕标签这有助于与保持兼容multipal设备上运行我们的代码。