请以简单的方式详细说明sw<N>dp和w<N>dp之间的区别。我研究了屏幕大小的完整文档,但对这两个限定符sw<>和w<>感到困惑。
发布于 2013-02-14 17:42:19
Android设备屏幕是矩形的。矩形有两面,一条短于另一面。让我们称之为短的A和长的B。
-swNNNdp表示“如果A长度大于或等于NNN dp,则使用这些资源”。
-wNNNdp表示“如果设备的宽度(按目前持有的宽度)大于或等于NNN dp,则使用这些资源”。
当用户在纵向和横向之间旋转设备时,宽度将改变(A或B),但A(最短宽度)总是相同的。
发布于 2013-02-14 17:43:02
请看一下屏幕支撑
根据这些文件:
SW:屏幕的基本尺寸,可用屏幕区域的最短尺寸表示。具体来说,设备的smallestWidth是屏幕可用高度和宽度中最短的(您也可以认为它是屏幕的“最小宽度”)。您可以使用此限定符来确保,无论屏幕的当前方向如何,应用程序的dps至少有宽度可用于它的UI。
而W:指定dp单元中的最小可用宽度,在该宽度中应使用该值定义的资源。当屏幕的方向在横向和纵向之间切换以反映您的UI可用的当前实际宽度时,系统相应的宽度值会发生变化。
用我的话说:
SW:dps中屏幕边缘之间的最小距离,因此,如果您使用布局-sw600dp/文件夹,那么它内的所有布局只能在至少600 dp(宽度或高度)的设备上工作。
W:意味着您的布局将在n dp宽度的任何设备上工作,而不考虑高度,也可能是当前处于景观模式的设备(在本例中,w将引用高度。因为景观和肖像的方向不同)
https://stackoverflow.com/questions/14880746
复制相似问题