0

我开发了一个具有详细资源结构的 android 应用程序:我在文件夹中保存了所有高分辨率图像,drawable-hdpi然后我为单独的屏幕分辨率创建了布局,如、layout-hdpi和其他一些。layout-largelayout-xlarge

我没有在高分辨率仿真器中得到确切的布局,例如Nexus 710.1 WXGA(Tablet)等等7.1 WSVGA(Tablet)......它没有采用我对这些屏幕尺寸的精确设计,它总是指“布局”而不是layout-xlarge.

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

4

4 回答 4

2

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

例如,要针对 7 英寸平板电脑,请将布局放入layout-sw600dp. 对于 10 英寸的平板电脑,将它们放入layout-720dp.

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

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

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

于 2013-03-06T05:23:59.497 回答
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"/> 

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

于 2013-03-06T05:27:00.907 回答
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文件夹并放置图像。

于 2013-03-06T05:03:13.550 回答
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
于 2013-03-06T05:06:14.873 回答