Android 多屏限定符定义

标签 android size screen qualifiers

我想创建一个与大量设备和屏幕兼容的布局。正如我一直在研究的那样,我发现最常见的屏幕分辨率是 249x320、480x800、600x1024、720x1280(以及与这些分辨率成比例的其他一些屏幕)。

嗯,在阅读文档后我发现有两种方法可以做到这一点。 在 Android 3.2 版本之前,我可以为布局使用限定符,例如“small、normal、large、xlarge”,并将它们与“port”(纵向)或“land”(横向)结合使用。

现在,第二种方法(似乎是最推荐的)仅适用于 Android 3.2 及更高版本。您必须指定必须使用布局的最小宽度,无论屏幕方向如何 (???)。

由于在使用第二种方法时不能指定端口或土地限定符,我更喜欢第一种。 我的问题是:第一种方式是否兼容Android 3.2及之后的版本?我必须对 Android < 3.2 使用第一种方法,对 Android > 3.2 使用第二种方法吗?如果是这样,我应该创建两个项目,或者将这两种方法结合起来(创建大约 10 种布局尺寸,用于通用尺寸限定符和特定的最小宽度限定符)。我想这需要更多资源。

谢谢,对不起我的脏话。

最佳答案

在 Android 中,您不会根据像素设计布局...您根据与密度无关的像素(dip 或 dp)设计它们。这些是按设备每英寸屏幕密度的点数缩放的设备像素。 Android 有 4 个通用屏幕密度桶,您必须在适当的文件夹下为每个桶提供可绘制对象(res/drawable-ldpi、res/drawable-mdpi、res/drawable-hdpi、res/drawable-xhdpi)。

使您的布局与多种设备兼容的其他方法是使用 9png 可拉伸(stretch)图形,并使用依赖于 dp 的 XML 可绘制对象的尺寸。

安卓屏幕支持推荐阅读:
http://developer.android.com/guide/practices/screens_support.html

就最小宽度限定符而言,您忽略了最小宽度以 dp 而非像素指定的事实。查本节表2:
http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

第一种方法适用于所有设备,包括 Android 3.2+。

关于Android 多屏限定符定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10094174/

相关文章:

java - Android 中如何检查数字字段是否为空

CSS 创建一个 menu-div-box?

java - 如何从 Graphics 获取 java 小程序中的 Canvas 大小?

ios - 4.2 中 iAd 变化的问题

android - 在 Android 上不缩放绘制位图

html - 是否有适合所有尺寸手机的视口(viewport)屏幕模式配置?

android - 具有固定菜单项的抽屉布局

c# - 获取有关 Android 库的触摸信息

java - 创建 Google 登录时出错

android - Android Instant App 与应用程序流有何不同?