【问题标题】:How to make compatible an android app for multiple screen (Different size and different resolutions)如何让安卓应用兼容多屏(不同尺寸和不同分辨率)
【发布时间】:2013-03-20 10:00:23
【问题描述】:

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

现在我也想支持这个应用程序的以下分辨率:

  1. 960x540
  2. 480x800
  3. 1280x720

支持我的多屏幕应用程序的最佳方法是什么。

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

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

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

我有几个选择:

  1. 使用单一布局(在 res/layout 下)和单独的可绘制对象(在 res/drawable-mdpi、res/drawable-hdpi 和 res/drawable-xhdpi 下)每个分辨率。
  2. 使用单独的布局(在 res/layout、res/layout-large 和 res/layout-xlarge 下)和单独的可绘制对象(在 res/drawable-mdpi、res /drawable-hdpi 和 res/drawable-xhdpi.) 用于每个分辨率。

或任何其他支持多屏幕时应始终使用的最佳方法。

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

请指导我。提前致谢。

【问题讨论】:

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


【解决方案1】:

没有唯一正确的方法,我相信这个决定取决于您的应用程序。

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

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

【讨论】:

    【解决方案2】:

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

    布局-h720dp

    布局土地

    布局-sw600dp

    layout-sw600dp-land

    布局-sw720dp

    布局-w720dp

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

    【讨论】:

    • 谢谢罗宾。您能否建议我为上述解决方案使用哪些布局文件夹名称?因为我仍然不清楚什么时候应该使用名称?当我使用 layout-large 和 layout-xlarge 或者当我使用 layout-w720dp 时?
    • 我认为您应该根据 DPI 而不是分辨率来考虑您的布局。请访问 Android 开发网站以清楚了解这 2 个不同的概念。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多