如何为多个屏幕(不同的大小和不同的分辨率)兼容Android应用程序

时间:2013-03-20 10:00:24

标签: android performance android-layout android-widget android-resources

我正在纵向视图中开发Android应用程序。这适用于所有Android版本(版本2.2到4.2)的320 * 480分辨率。

现在我也想为以下解决方案支持此应用程序:

  1. 960×540
  2. 480×800
  3. 1280×720
  4. 支持多屏幕应用程序的最佳方法是什么。

    我有3种类型的图像:1x,1.5x和2x。

    在320 * 480分辨率下,我使用1x图像。

    我搜索了很多,但仍然不清楚哪种方法最佳和正确的方法。

    我的选择很少:

    1. 使用单一布局(在res / layout下)和单独的drawable (在res / drawable-mdpi,res / drawable-hdpi和res / drawable-xhdpi下)对于每个决议。
    2. 使用单独布局(在res / layout下,res / layout-large和res / layout-xlarge)和单独的drawable (在res / drawable-mdpi下,res / drawable-hdpi和res / drawable-xhdpi。)为每个分辨率。
    3. 或者在支持多个屏幕时应始终使用的任何其他最佳方法。

      更多问题:当我使用上述方法时,我的更改不会出现在hdpi和xhdpi屏幕上。

      请指导我。提前谢谢。

2 个答案:

答案 0 :(得分:2)

没有一种正确的方法,我相信这个决定取决于你的申请。

在具有干净布局的应用中,我创建了一个独特的xml_layout,并使用android:layout_weight在屏幕上分发元素。因此,在所有不同的屏幕分辨率下,我在可用空间上得到了类似的元素分布。

否则,当布局更复杂时,需要创建不同的布局以支持不同的屏幕。

答案 1 :(得分:0)

最佳选择是2,它是Android标准,推荐的提供资源的方式。 我认为你的问题是由于你没有指定正确的类型。对于布局替代方案,您还可以使用:

布局h720dp

布局陆

布局sw600dp

布局sw600dp陆

布局sw720dp

布局w720dp

请参阅http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources