如何开发 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官方开发文档Training系列课程中文版:多样屏幕之支持不同的屏幕密度
如何使页面的背景半透明以在 Flutter 中显示上一个屏幕?