Android多屏限定符定义

ali*_*ali 5 size android screen qualifiers

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

好吧,在阅读文档后,我发现有两种方法可以做到这一点.直到3.2 Android版本,我可以使用限定符作为"小,普通,大,xlarge"的布局,并将它们与"端口"(纵向)或"土地"(横向"相结合.

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

因为在使用第二种方法时你不能指定端口或地面限定符,我更喜欢第一种方法.我的问题是:第一种兼容Android 3.2及更高版本的方法是什么?我必须使用Android <3.2的第一种方法和Android> 3.2的第二种方法吗?如果是这样,我应该创建两个项目,或者可以组合这两个方法(为一般大小限定符和特定的最小宽度限定符创建大约10个布局大小).我想这需要更多的资源.

谢谢,抱歉我的语言不好,

The*_*heo 1

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

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

Android 屏幕支持的推荐阅读:
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+。