Android app屏幕分辨率问题

时间:2013-03-06 04:58:55

标签: android layout screen

我开发了一个具有详细资源结构的Android应用程序:我在drawable-hdpi文件夹中拥有高分辨率的所有图像,之后我创建了用于单独屏幕分辨率的布局layout-hdpi,{{1 },layout-large和其他一些。

我没有在layout-xlargeNexus 710.1 WXGA(Tablet)这样的高分辨率模拟器中获得确切的布局......它没有采用我的确切设计屏幕尺寸,它总是指“布局”而不是7.1 WSVGA(Tablet)

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

4 个答案:

答案 0 :(得分:2)

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

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

唯一的例外是当针对有问题的设备(例如运行android 2.x的原始galaxy选项卡)时,由于布局解析中的错误,您需要创建一个名为layout-xlarge-land的文件夹并将布局放在那里。

此外,不要只有高分辨率图像并将它们转储到hdpi中。正确缩放图像并将其放入mdpi,hdpi,xhdpi等。

大多数情况下,这会导致应用程序的加载时间更快,并且APK尺寸会更小,因为您没有捆绑“高分辨率图像”并使框架根据请求缩放图像。由于位图存储在Java堆上,因此在包中包含未经优化的图像也会对内存使用产生影响。

答案 1 :(得分:0)

在您想要的位置使用您的字段,例如images,textview或edittext。 在每个布局中清楚地对齐它们。

 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 :(得分:0)

有关详细信息,请访问此网站http://developer.android.com/guide/practices/screens_support.html

xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp

答案 3 :(得分:0)

将屏幕标记放入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"/> 

这有助于在具有兼容性的多路设备上运行你的代码。