Sw600dp 和 w600dp 的区别?

请以简单的方式详细说明 sw<N>dpw<N>dp之间的区别。我已经研究了屏幕大小的完整文档,但是对这两个限定符 资讯科技及广播局局长W < >感到困惑。

31824 次浏览

Android 设备屏幕是矩形的。矩形有两条边,一条比另一条短。我们把短的叫做 A,长的叫做 B。

-swNNNdp表示“如果 A 的长度大于或等于 NNNdp,则使用这些资源”

-wNNNdp表示“如果目前保持的设备宽度大于或等于 NNNdp,则使用这些资源”

当用户在纵向和横向之间旋转设备时,宽度会改变(为 A 或 B) ,但是 A (最短宽度)总是相同的。

请看 屏幕支持

根据文件记载:

SW : 屏幕的基本尺寸,由可用屏幕区域的最短尺寸表示。具体来说,设备的 smallestWidth 是屏幕可用高度和宽度中最短的(您也可以将其视为屏幕的“最小可能宽度”)。您可以使用这个限定符来确保,无论屏幕的当前方向如何,您的应用程序的 UI 都至少具有可用的 dps 宽度。

W: 以 dp 单位指定资源应该使用的最小可用宽度ーー由值定义。当屏幕的方向在横向和纵向之间切换时,系统对应的宽度值会发生变化,以反映当前 UI 可用的实际宽度。

用我的话说:

SW : 屏幕边缘之间的最小距离以 dps 为单位,所以如果你使用的布局-sw600dp/文件夹,那么它里面的所有布局将只能在至少有600dp (宽度或高度)的设备上运行

W : means your layout will work on any device with n dp width regardless of the height or maybe the device currently in landscape mode (in this case w would refer to the height .. since orientation differs between landscape and portrait)