如何设计应用程序以支持Android中的多屏设备和平板电脑

时间:2011-12-16 12:54:14

标签: android

如果应用程序必须支持从Android 1.6设备启动并继续。该应用程序还必须支持平板电脑。在创建应用程序时我必须考虑哪些事项。我看过How to Support Multiple Screens。我认为那里描述的摘要是

  • 在清单中明确声明您的屏幕尺寸 应用程序支持(summary-1)
  • 为不同的屏幕尺寸提供不同的布局(摘要-2)
  • 为不同的屏幕密度提供不同的位图drawable(摘要-3)

因为我必须支持从1.6开始的所有设备,包括平板电脑,我是否必须使用<supports-screens>。它对我的应用程序有用吗? (总结-1)

我无法为不同的尺寸创建布局。因为将来任何设备都可能带有一些different_size。但我必须支持所有屏幕尺寸。 (概要-2)

我知道我必须创建不同的可绘制文件夹以支持不同的分辨率,并且还支持多尺寸我必须将所有图像创建为9补丁。 (概要-3)

只有我理解我的应用程序使用(提供不同的...)。对于我的问题,我没有得到其他两点的使用。另外一个疑问是,如果我创建hdpi,ldpi和mdpi可绘制文件夹,或者我还需要创建xhdpi,这是否可以?

任何人都可以建议我,我必须考虑的其他事项如果我想我的应用程序应该看起来相同,并在如此广泛的设备中工作(从1.6+到平板电脑也是如此)

2 个答案:

答案 0 :(得分:1)

你大部分都被覆盖了。

仅使用高分辨率分辨率图像可能会在支持和应用尺寸方面为您节省一些头痛。 Mdpi屏幕将自动缩小这些图像。你可能会完全放弃像素完美,但是任何使用mdpi屏幕的人都不关心这种完美;)无论哪种方式,它们都是市场的一小部分。

除非您的布局非常非常复杂,否则每个屏幕大小只有一个布局就足够了。您永远不应该以绝对像素(px)定义布局。使用维度像素(dp)。如果你需要居中,不要只是设置左侧的距离,使其放在中心,使用android:layout_centerHorizontal="true"和相应的属性,这样它将始终以所有屏幕尺寸为中心。

我相信1.6布局中有一些错误。如果可以,我建议不要支持1.6,或者为一堆潜在的问题做好准备。我用谷歌搜索,只发现了一些,但我记得从好的1.6天开始,还有更多。

1.6中的小布局错误示例: http://code.google.com/p/android/issues/detail?id=15482

1.6中与HUGE布局相关的错误示例: http://developer.android.com/guide/topics/resources/providing-resources.html#KnownIssues

他们声称这不是问题,但您可能需要保留每个图像的多个副本,因为9个补丁图像在通过xml文件引用时会中断(至少在1.6中)。

在具有奇怪分辨率的模拟器上测试以在发布应用之前检查您的解决方案是否有效。 :)

答案 1 :(得分:0)

您应始终在清单中定义<supports-screens>,因为default values can change从一个版本到另一个版本。

但是如果你想支持xlarge屏幕,那么你就会被卡住,因为这个属性是在API级别9(android 2.3)中引入的。你必须创建两个不同的APK,一个用于Android版本&gt; = 2.3,另一个用于旧版本。

由于这是一个常见问题,即使你使用多个APK,android也能为市场上的publish only one application提供一种很好的方式。

然而,Android 1.6现在约代表1.3% of the market share。您确定要花费大量时间来支持这个旧版本吗?