如何开发 android 应用程序以在不同的屏幕分辨率下工作

Posted

技术标签:

【中文标题】如何开发 android 应用程序以在不同的屏幕分辨率下工作【英文标题】:how to i develop android application to work in different screen resolutions 【发布时间】:2012-01-21 18:54:29 【问题描述】:

我正在做 android 项目。 实际上我已经开发了分辨率(1024 * 600)的蜂窝小应用程序,当我以不同的分辨率运行相同的应用程序时,比如说android 2.2(froyo)屏幕,应用程序屏幕中的图像对齐方式发生了变化。

注意:放置在 xml 文件中的图像是手动排列的(没有用于宽度和高度的包装器)

请尽快帮我解决这个问题..

问候,

壁画...G

【问题讨论】:

从谷歌阅读这个:developer.android.com/guide/practices/screens_support.html 【参考方案1】:

主要是我们需要查找的是操作栏,仪表板等UI模式的使用情况。 但关键是你应该少用静态图片,因为你也使用平板电脑。你应该使用 Fragments(当然你会使用的。如果你使用了。请这样做)。

还使用 9 个补丁图像或颜色作为背景。如果您使用不同的图像,那么。您需要保留不同密度的图像。

也许我所说的都是抽象的,因为这个问题是一个抽象的问题。对此没有单一的答案。因为这本身就是一个过程。

【讨论】:

【参考方案2】:

//这样设计你的xml

res/layout/my_layout.xml             // layout for normal screen size ("default")
res/layout-small/my_layout.xml       // layout for small screen size
res/layout-large/my_layout.xml       // layout for large screen size
res/layout-xlarge/my_layout.xml      // layout for extra large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra large in landscape orientation



Low density Small screens QVGA 240x320 

res/layout-small-ldpi
res/layout-small-land-ldpi

Low density Normal screens WVGA400 240x400 (x432)

res/layout-ldpi
res/layout-land-ldpi

Medium density Normal screens HVGA 320x480

res/layout-mdpi
res/layout-land-mdpi

Medium density Large screens HVGA 320x480

res/layout-large-mdpi
res/layout-large-land-mdpi

High density Normal screens WVGA800 480x800 (x854)

res/layout-hdpi
res/layout-land-hdpi

Xoom (medium density large but 1280x800 res)

【讨论】:

感谢 padmakar.bt 问题是我的项目中有 20-30 个 xml,我需要将每个 xml 复制到不同的布局中吗?还有另一种方法吗? 【参考方案3】:

检查这个 Android 类: http://developer.android.com/training/multiscreen/index.html

【讨论】:

以上是关于如何开发 android 应用程序以在不同的屏幕分辨率下工作的主要内容,如果未能解决你的问题,请参考以下文章

怎样在Android中制作一个从左到有三等分屏幕的布局

Android官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕密度

使用 QT 创建 Android 库

如何使页面的背景半透明以在 Flutter 中显示上一个屏幕?

如何安装 JRE 或 JDK 以在 Windows 7 上运行 Android 开发人员工具?

如何模拟像素比以在 Windows 上使用 Google Chrome 或 Firefox 测试媒体查询?