如何支持最小宽度的不同屏幕尺寸?
How to support different screen sizes with smallest width?
我查看了如何支持屏幕尺寸,但是 android 关于屏幕尺寸支持的指南在解释上非常含糊。
所以我的问题是如何使用最小宽度限定符支持不同的屏幕尺寸?
我有 dimens.xml 个文件,其值为 sw320dp、sw480dp、sw600dp 和 sw720dp。
320dp:典型的 phone 屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
480dp:大 phone 屏幕 ~5" (480x800 mdpi)。
600dp:7 英寸平板电脑 (600x1024 mdpi)。
720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。
这在 android 文档中有说明,但是当我尝试使用模拟器 Nexus one 3.7 英寸 hdpi 时,它使用与 Nexus 5 相同的尺寸值,即 5.0 英寸 xxhdpi。
支持所有屏幕尺寸的推荐方式是什么?
谢谢
Nexus 5 的屏幕尺寸为 360x640 dp。在您的定义集中不大于 360 的 最小宽度 的最大值是 sw320dp
。这就是两个模拟器使用相同值的原因。
然而,这主要是跑题了。支持所有屏幕尺寸的正确方法是创建可以拉伸和收缩以填充任何 phone 的布局。当然,在某些情况下,为不同的屏幕尺寸定义不同的尺寸可能是有意义的,但是您可以通过简单地使用 LinearLayout
和权重或 ConstraintLayout
和匹配约束来做很多事情。
根据我自己的专业经验,使用 swXXXdp
的最常见原因是为 phone 和平板电脑创建不同的基本布局。也就是说,每个 activity 在 res/layout/
中都有一个布局 XML 文件,但有些在 res/layout-sw600dp/
中也有一个特定于平板电脑的布局文件。根据设备尺寸定义尺寸是非常不常见的。
我查看了如何支持屏幕尺寸,但是 android 关于屏幕尺寸支持的指南在解释上非常含糊。
所以我的问题是如何使用最小宽度限定符支持不同的屏幕尺寸?
我有 dimens.xml 个文件,其值为 sw320dp、sw480dp、sw600dp 和 sw720dp。
320dp:典型的 phone 屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。 480dp:大 phone 屏幕 ~5" (480x800 mdpi)。 600dp:7 英寸平板电脑 (600x1024 mdpi)。 720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。
这在 android 文档中有说明,但是当我尝试使用模拟器 Nexus one 3.7 英寸 hdpi 时,它使用与 Nexus 5 相同的尺寸值,即 5.0 英寸 xxhdpi。
支持所有屏幕尺寸的推荐方式是什么?
谢谢
Nexus 5 的屏幕尺寸为 360x640 dp。在您的定义集中不大于 360 的 最小宽度 的最大值是 sw320dp
。这就是两个模拟器使用相同值的原因。
然而,这主要是跑题了。支持所有屏幕尺寸的正确方法是创建可以拉伸和收缩以填充任何 phone 的布局。当然,在某些情况下,为不同的屏幕尺寸定义不同的尺寸可能是有意义的,但是您可以通过简单地使用 LinearLayout
和权重或 ConstraintLayout
和匹配约束来做很多事情。
根据我自己的专业经验,使用 swXXXdp
的最常见原因是为 phone 和平板电脑创建不同的基本布局。也就是说,每个 activity 在 res/layout/
中都有一个布局 XML 文件,但有些在 res/layout-sw600dp/
中也有一个特定于平板电脑的布局文件。根据设备尺寸定义尺寸是非常不常见的。