70

请用简单的方式详细说明sw<N>dp和之间的区别。w<N>dp我研究了屏幕尺寸的完整文档,但对这两个限定符sw<>w<>感到困惑。

4

2 回答 2

145

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

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

-wNNNdp表示“如果当前持有的设备宽度大于或等于 NNN,则使用这些资源dp

当用户在纵向和横向之间旋转设备时,宽度会发生变化(为 A 或 B),但 A(最短宽度)始终相同。

于 2013-02-14T17:42:19.840 回答
14

请查看屏幕支持

根据文件:

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

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

用我的话来说:

SW:您的布局将在 dps 中运行的屏幕边缘之间的最小距离,因此如果您使用 layout-sw600dp/ 文件夹,则其中的所有布局仅适用于至少具有 600dp(宽度或高度)的设备

W:意味着您的布局将适用于任何具有 n dp 宽度的设备,无论高度如何,或者可能是当前处于横向模式的设备(在这种情况下, w 将指高度 .. 因为横向和纵向之间的方向不同)

于 2013-02-14T17:43:02.023 回答