屏幕适配二 (概念2)

如何支持多种屏幕

确保应用布局:

适应小屏幕(让用户能实际使用您的应用)
已针对大屏幕优化,可以利用其他屏幕空间
已同时针对横屏和竖屏方向优化

屏幕尺寸的新配置限定符 (在 Android 3.2 中引入)。

屏幕配置 smallestWidth

限定符值 swdp

示例:
sw600dp
sw720dp

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

例如,如果布局要求屏幕区域的最小尺寸始终至少为 600 dp,则可使用此限定符创建布局资源 res/layout-sw600dp/。仅当可用屏幕的最小尺寸至少为 600dp 时,系统才会使用这些资源,而不考虑 600dp 所代表的边是用户所认为的高度还是宽度。smallestWidth 是设备的固定屏幕尺寸特性;设备的 smallestWidth 不会随屏幕方向的变化而改变。

设备的 smallestWidth 将屏幕装饰元素和系统 UI 考虑在内。例如,如果设备的屏幕上有一些永久性 UI 元素占据沿 smallestWidth 轴的空间,则系统会声明 smallestWidth 小于实际屏幕尺寸,因为这些屏幕像素不适用于您的 UI。

这可替代通用化的屏幕尺寸限定符(小、正常、大、超大), 可让您为 UI 可用的有效尺寸定义不连续的数值。 使用 smallestWidth 定义一般屏幕尺寸很有用,因为宽度 通常是设计布局时的驱动因素。UI 经常会垂直滚动,但 对其水平需要的最小空间具有非常硬性的限制。可用的宽度也是 确定是否对手机使用单窗格布局或是对平板电脑使用多窗格布局 的关键因素。因此,您可能最关注每部 设备上的最小可能宽度。

屏幕配置 可用屏幕宽度

限定符值 wdp
示例:w720dp w1024dp

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

这对于确定是否使用多窗格布局往往很有用,因为即使是在 平板电脑设备上,您也通常不希望竖屏像横屏一样 使用多窗格布局。因此,您可以使用此功能指定布局需要的最小宽度,而 无需同时使用屏幕尺寸和方向限定符。

屏幕配置 可用屏幕高度

限定符值 hdp
示例:h720dp,h1024dp等等

说明:
指定资源应该使用的最小屏幕高度(dp 单位) — 由 值定义。当屏幕的方向在横屏与竖屏之间切换时,系统 对应的高度值将会变化,以 反映 UI 可用的当前实际高度。

使用此方式定义 布局需要的高度很有用,它与使用 wdp 定义 所需宽度的方式相同,无需同时使用屏幕尺寸和方向限定符。 但大多数应用不需要此限定符,考虑到 UI 经常垂直滚动, 因此高度更弹性,而宽度更刚性。

虽然使用这些限定符似乎比使用屏幕尺寸组更复杂,但 当您确定 UI 的要求后,它实际上应该更简单。在设计 UI 时, 您主要关注的可能是应用在 手机样式 UI 与使用多窗格的平板电脑样式 UI 之间切换时的实际尺寸。此确切的精确时间 取决于特定设计 — 可能平板电脑布局需要 720dp 宽度, 但 600dp、480dp 或这两者之间的某个值就够了。使用表 2 中的这些限定符 可以控制布局切换时的精确尺寸。

配置示例

为帮助您针对不同的设备类型确定某些设计,下面提供了一些 常见的屏幕宽度值:

320dp:常见手机屏幕(240x320 ldpi、320x480 mdpi、480x800 hdpi 等)。
480dp:中间平板电脑,例如 Streak (480x800 mdpi)。
600dp:7 英寸平板电脑 (600x1024 mdpi)。
720dp:10 英寸平板电脑(720x1280 mdpi、800x1280 mdpi 等)。

利用表尺寸限定符,您的应用可以使用要用于宽度和/或高度的 的任何值,在用于手机和平板电脑的不同布局资源之间切换。例如, 如果 600dp 是平板电脑布局支持的最小可用宽度,您可以提供以下两 组布局:

 res/layout/main_activity.xml   
 #For handsets (smaller than 600dp available width) 

res/layout-sw600dp/main_activity.xml     
# For 7” tablets (600dp wide and bigger) 

res/layout-sw720dp/main_activity.xml    
# For 10” tablets (720dp wide and bigger)

猜你喜欢

转载自blog.csdn.net/qq_31130725/article/details/81100673