我的 android 应用程序将如何在多个屏幕分辨率设备上运行?

Posted

技术标签:

【中文标题】我的 android 应用程序将如何在多个屏幕分辨率设备上运行?【英文标题】:How my android app will run on multiple screen resolution devices? 【发布时间】:2012-01-05 09:57:37 【问题描述】:

我开发了一个 android 应用程序并在 HVGA 模拟器上运行它。它可以在任何 HVGA 设备(即 mdpi)上成功运行。但是,如果我尝试在小屏幕分辨率设备(即 QVGA)上运行,那么我的按钮看起来好像向下并且不适合小屏幕......

那么我怎样才能在多个屏幕分辨率上成功运行我的 android 应用程序呢?

【问题讨论】:

How to support for multiple resolutions?的可能重复 【参考方案1】:

按照这些说明进行操作

    在 yourAppFolder/res/ 中创建一个名为 layout-small 的文件夹(*稍后会详细介绍此主题) 在此文件夹中插入所有需要针对小屏幕进行特殊处理的 xml 布局项(不必复制所有“正常”布局文件,但如果您愿意,可以这样做) 根据需要更改此布局中的文件

这种方法会发生什么:

如果设备有一个非小屏幕,将加载和使用默认布局(“layout”文件夹中的那个),否则如果屏幕属于“small”类别,“layout-small”中的文件将改为使用(仅当有同名的可用时,否则将使用“布局”中的那个

*关于文件夹命名:该策略是 android 支持的旧策略。现在还有另一种,更精确但也更复杂(例如:指定最小必要宽度)。无论如何,这仍然受支持,只需注意 eclipse 可能会建议您一些替代方案。目前,我仍在使用旧的命名策略进行开发。

【讨论】:

【参考方案2】:

我认为最好针对每种屏幕尺寸和分辨率设计布局。在android中很容易。从资源的“layout”文件夹复制您的布局,并将其粘贴到“layout-land”、“layout-xlarge”、“layout-xlarge-land”和...文件夹中,并更改您需要的设置。

你可以查看这个link:

【讨论】:

请注意,“layout-xx”方法不再被安卓操作系统认可。现在有另一个命名程序(即使仍然支持旧的)【参考方案3】:

在 UI 构建器(Eclipse 插件的一部分)中,您可以为多种屏幕尺寸和分辨率构建界面。要为不同的分辨率制作不同的布局,只需按照以下说明构建备用布局:

http://developer.android.com/guide/practices/screens_support.html#support

【讨论】:

以上是关于我的 android 应用程序将如何在多个屏幕分辨率设备上运行?的主要内容,如果未能解决你的问题,请参考以下文章

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

如何在 React Native 中设置 Android 屏幕、分辨率、纵横比和大小?

在不同分辨率的不同设备上运行我的应用程序

如何调整我的vb6程序以使其自动适合任何屏幕分辨率?

android屏幕支持相同密度的不同分辨率

如何在 Android 中针对各种屏幕分辨率在固定位置显示控件?