多屏设计问题
Issue with multiscreen design
让我们假设我们有一台具有以下特征的平板电脑:
7 英寸
1280 * 800 像素
213dpi.
据此我们可以计算出设备的分辨率(以 dp 为单位)。
所以:
1280 = dp * (213 / 160)
dp = 1280 * 160 / 213 = 961.50 ~= 960
和
800 = dp * (213 / 160)
dp = 800 * 160 / 213 = 600.94 ~= 600
因此其分辨率为:960 x 600dp。因此我们使用layout-sw600dp。
现在让我们假设我们有一个移动设备,即 Samsung Galaxy 4。
5.0 英寸
1080 x 1920 像素
441 dpi.
我们做同样的计算。
1080 = dp * (441 / 160)
dp = 1080 * 160/ 441= 391.83 ~= 390
和
1920 = dp * (441 / 160)
dp = 1920 * 160/ 441 = 696.59 ~= 696
所以在这种情况下 390 x 696 dp。我们要为移动设备使用 layout -sw480dp 还是 layout -sw320dp?
谢谢,
西奥
'sw'表示最小宽度,所以应该是layout-sw320dp。
设备的 smallestWidth 是屏幕可用高度和宽度中最短的(您也可以将其视为屏幕的 "smallest possible width")。您可以使用此限定符来确保,无论屏幕的当前方向如何,您的应用程序的宽度至少有 dps 可用于其 UI.
例如,如果您的布局要求屏幕区域的最小尺寸始终至少为 600 dp,那么您可以使用此限定符来创建布局资源 res/layout-sw600dp/。只有当可用屏幕的最小尺寸至少为 600dp 时,系统才会使用这些资源,而不管 600dp 边是用户感知的高度还是宽度。 smallestWidth 是设备固定的屏幕尺寸特性;当屏幕方向改变时,设备的 smallestWidth 不会改变。
(以上摘自文档)。
希望对您有所帮助!
让我们假设我们有一台具有以下特征的平板电脑:
7 英寸
1280 * 800 像素
213dpi.
据此我们可以计算出设备的分辨率(以 dp 为单位)。
所以:
1280 = dp * (213 / 160) dp = 1280 * 160 / 213 = 961.50 ~= 960
和
800 = dp * (213 / 160) dp = 800 * 160 / 213 = 600.94 ~= 600
因此其分辨率为:960 x 600dp。因此我们使用layout-sw600dp。
现在让我们假设我们有一个移动设备,即 Samsung Galaxy 4。
5.0 英寸
1080 x 1920 像素
441 dpi.
我们做同样的计算。
1080 = dp * (441 / 160) dp = 1080 * 160/ 441= 391.83 ~= 390
和
1920 = dp * (441 / 160) dp = 1920 * 160/ 441 = 696.59 ~= 696
所以在这种情况下 390 x 696 dp。我们要为移动设备使用 layout -sw480dp 还是 layout -sw320dp?
谢谢,
西奥
'sw'表示最小宽度,所以应该是layout-sw320dp。
设备的 smallestWidth 是屏幕可用高度和宽度中最短的(您也可以将其视为屏幕的 "smallest possible width")。您可以使用此限定符来确保,无论屏幕的当前方向如何,您的应用程序的宽度至少有 dps 可用于其 UI.
例如,如果您的布局要求屏幕区域的最小尺寸始终至少为 600 dp,那么您可以使用此限定符来创建布局资源 res/layout-sw600dp/。只有当可用屏幕的最小尺寸至少为 600dp 时,系统才会使用这些资源,而不管 600dp 边是用户感知的高度还是宽度。 smallestWidth 是设备固定的屏幕尺寸特性;当屏幕方向改变时,设备的 smallestWidth 不会改变。
(以上摘自文档)。 希望对您有所帮助!