Java 如何以最小宽度支持不同的屏幕尺寸?

Java 如何以最小宽度支持不同的屏幕尺寸?,java,android,screen-size,android-screen-support,Java,Android,Screen Size,Android Screen Support,我查看了如何支持屏幕大小,但是android指南中关于屏幕大小支持的解释非常模糊 所以我的问题是,如何用最小的宽度限定符来支持不同的屏幕尺寸 我有dimens.xml文件,其值为sw320dp、sw480dp、sw600dp和sw720dp 320dp:典型的电话屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi等)。 480dp:一个5英寸(480x800 mdpi)的大手机屏幕。 600dp:7英寸平板电脑(600x1024 mdpi)。 720dp:10英寸

我查看了如何支持屏幕大小,但是android指南中关于屏幕大小支持的解释非常模糊

所以我的问题是,如何用最小的宽度限定符来支持不同的屏幕尺寸

我有dimens.xml文件,其值为sw320dp、sw480dp、sw600dp和sw720dp

320dp:典型的电话屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi等)。 480dp:一个5英寸(480x800 mdpi)的大手机屏幕。 600dp:7英寸平板电脑(600x1024 mdpi)。 720dp:10英寸平板电脑(720x1280 mdpi、800x1280 mdpi等)

这在android文档中有说明,但当我尝试仿真器NexusOne 3.7英寸hdpi时,它使用与Nexus5相同的dimens值,即5.0英寸xxhdpi

推荐哪种方式支持所有屏幕尺寸


感谢

Nexus 5的屏幕大小为360x640 dp。在您的定义集中,不大于360的最小宽度的最大值为
sw320dp
。这就是为什么两个模拟器使用相同的值

然而,这基本上是离题的。支持所有屏幕尺寸的正确方法是创建可拉伸和收缩的布局,以填充任何手机。当然,在某些情况下,为不同的屏幕尺寸定义不同的尺寸可能是有意义的,但只需使用带有权重的
LinearLayout
就可以做很多事情r
ConstraintLayout
带有匹配约束


根据我自己的专业经验,使用
swXXXdp
最常见的原因是为手机和平板电脑创建不同的基本布局。也就是说,每个活动在
res/layout/
中都有一个布局XML文件,但有些活动在
res/layout-sw600dp/
中也有一个特定于平板电脑的布局文件。定义维度是非常罕见的s基于设备大小。

查看此库,看看它是否适合您的需要: