Android屏幕备选资源

Android运行在多种设备,提供不同的屏幕尺寸和密度。旋转设备会改变设备配置,设备配置是用来描述设备当前状态的一系列特征。

这些特征包括:屏幕的方向、屏幕的密度、屏幕的尺寸、键盘类型、底座模式以及语言,等等。

从Android 1.6(API4)开始,Android提供了支持多个屏幕尺寸和密度,反映的设备可能有许多不同的屏幕配置。

为了简化设计的方式, Android将实际的屏幕尺寸和密度范围划分为:small/ normal/ large/ xlarge。设置四个广义密度:ldpi/ mdpi/ hdpi/ xhdpi。 

每个设计有其要求的最小空间:xlarge 960dpx 720dp,large 640dpx 480dp,normal 470dpx 320dp,small 426dpx 320dp。不必为每一个屏幕大小和密度的组合设置替代资源。同时,Android系统提供了强大的兼容特性,可以在任何配置的屏幕上呈现应用程序的大部分工作。

为了妥善处理不同的屏幕配置,可以采用以下几种建议:

1、显式声明应用程序所支持的屏幕尺寸清单

声明应用程序支持的屏幕尺寸,可以确保只有支持该应用的设备可以下载你的应用程序。

2、更重要的,提供适当的备选资源

通常,为匹配不同的设备配置,应用会提供不同的备选资源。为适应不同分辨率的屏幕,向项目里添加多套箭头图标就是这样的一个使用案例。

设备的屏幕密度是一个固定的设备配置,无法在运行时发生改变。而有些特征,如屏幕方向,可以在运行时进行改变。

在运行时配置变更发生时,可能会有更合适的资源来匹配新的设备配置。如果新建一个备选资源,当设备旋转至水平方位,Android就会自动发现并使用它。

创建水平模式布局方法如下:

首先,在包浏览器中,右键单击res目录创建一个新文件夹并命名为layout-land,如图1所示。

将activity.xml(应用对应的布局文件,名字不一定相同)文件从res/layout/目录复制至res/layout-land/目录。现在我们就有了一个水平模式布局和一个默认布局(竖直模式)。注意,两个布局文件必须具有相同点文件名,这样它们才能以同一个资源ID被引用。

这里-land后缀名是配置修饰符的另一个使用例子。res子目录的配置修饰符表明了Android是如何通过它来定位最佳资源以匹配当前设备配置的。设备处于水平方向时,Android会找到并使用res/layout-land目录下的布局资源,其他则会默认使用res/layout目录下的布局资源。


图1

 

下表就是Android的配置修饰符列表以及配置修饰符代表的设备配置信息。

 

 

 

屏幕

配置修饰符

说明

尺寸

small

尺寸屏幕的资源。

normal

正常大小的屏幕资源,这是基线的大小。

large

尺寸屏幕上的资源。

xlarge

超大尺寸的屏幕资源。

密度

ldpi

低密度(ldpi)屏幕(〜120dpi)的资源。

mdpi

中等密度的资源(mdpi)屏幕(160dpi),这是基准密度。

hdpi

高密度(hdpi)屏幕(〜240dpi)的资源。

xhdpi

额外的高密度(xhdpi)屏幕(〜320dpi)的资源。

方向

land

屏幕在横向的资源。

port

屏幕在纵向的资源。

长宽比

long

相比基线的屏幕配置资源,屏幕有一个显著高或更广泛的宽高比(在纵向或横向)

notlong

使用屏幕的长宽比是类似的基线屏幕配置资源。

表1

 

如果没有匹配的资源是可用的,系统将使用默认的资源和规模向上或向下需要,以符合当前的屏幕大小和密度。

术语和概念:

1、屏幕尺寸

实际的物理尺寸,屏幕的对角线测量。

为方便起见,Android的群体所有实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。

2、屏幕密度

屏幕的物理面积内像素的数量,通常称为DPI(每英寸点数)。 例如,“低”的密度屏幕在一个给定的物理区域内,相比一个“正常”或“高”密度屏幕有较少的像素。

为方便起见,Android的屏幕密度分为四个广义密度:低,中,高,特高。

3、方向

从用户的角度来看,屏幕的方向。

4、分辨率

在屏幕上的物理像素总数。

5、密度无关的像素(DP)

一个虚拟像素单元,在使用定义UI的布局时,以密度无关的方式来表达布局尺寸或位置。在运行时,系统直接处理DP单位,必要时根据实际使用的屏幕密度缩放。DP单位转换为屏幕像素:px = dp * (dpi / 160)) 。例如,一个240 dpi屏幕上,1 DP等于1.5物理像素。定义应用程序的UI时,应该总是使用DP单位,以确保不同密度的屏幕上显示的用户界面适当。

 

 

 

Android运行在多种设备,提供不同的屏幕尺寸和密度。旋转设备会改变设备配置,设备配置是用来描述设备当前状态的一系列特征。

这些特征包括:屏幕的方向、屏幕的密度、屏幕的尺寸、键盘类型、底座模式以及语言,等等。

从Android 1.6(API4)开始,Android提供了支持多个屏幕尺寸和密度,反映的设备可能有许多不同的屏幕配置。

为了简化设计的方式, Android将实际的屏幕尺寸和密度范围划分为:small/ normal/ large/ xlarge。设置四个广义密度:ldpi/ mdpi/ hdpi/ xhdpi。

 

每个设计有其要求的最小空间:xlarge 960dpx 720dp,large 640dpx 480dp,normal 470dpx 320dp,small 426dpx 320dp。不必为每一个屏幕大小和密度的组合设置替代资源。同时,Android系统提供了强大的兼容特性,可以在任何配置的屏幕上呈现应用程序的大部分工作。

为了妥善处理不同的屏幕配置,可以采用以下几种建议:

1、显式声明应用程序所支持的屏幕尺寸清单

声明应用程序支持的屏幕尺寸,可以确保只有支持该应用的设备可以下载你的应用程序。

2、更重要的,提供适当的备选资源

通常,为匹配不同的设备配置,应用会提供不同的备选资源。为适应不同分辨率的屏幕,向项目里添加多套箭头图标就是这样的一个使用案例。

设备的屏幕密度是一个固定的设备配置,无法在运行时发生改变。而有些特征,如屏幕方向,可以在运行时进行改变。

在运行时配置变更发生时,可能会有更合适的资源来匹配新的设备配置。如果新建一个备选资源,当设备旋转至水平方位,Android就会自动发现并使用它。

创建水平模式布局方法如下:

首先,在包浏览器中,右键单击res目录创建一个新文件夹并命名为layout-land,如图1所示。

将activity.xml(应用对应的布局文件,名字不一定相同)文件从res/layout/目录复制至res/layout-land/目录。现在我们就有了一个水平模式布局和一个默认布局(竖直模式)。注意,两个布局文件必须具有相同点文件名,这样它们才能以同一个资源ID被引用。

这里-land后缀名是配置修饰符的另一个使用例子。res子目录的配置修饰符表明了Android是如何通过它来定位最佳资源以匹配当前设备配置的。设备处于水平方向时,Android会找到并使用res/layout-land目录下的布局资源,其他则会默认使用res/layout目录下的布局资源。

图1

 

下表就是Android的配置修饰符列表以及配置修饰符代表的设备配置信息。

 

 

 

屏幕

配置修饰符

说明

尺寸

small

尺寸屏幕的资源。

normal

正常大小的屏幕资源,这是基线的大小。

large

尺寸屏幕上的资源。

xlarge

超大尺寸的屏幕资源。

密度

ldpi

低密度(ldpi)屏幕(〜120dpi)的资源。

mdpi

中等密度的资源(mdpi)屏幕(160dpi),这是基准密度。

hdpi

高密度(hdpi)屏幕(〜240dpi)的资源。

xhdpi

额外的高密度(xhdpi)屏幕(〜320dpi)的资源。

方向

land

屏幕在横向的资源。

port

屏幕在纵向的资源。

长宽比

long

相比基线的屏幕配置资源,屏幕有一个显著高或更广泛的宽高比(在纵向或横向)

notlong

使用屏幕的长宽比是类似的基线屏幕配置资源。

表1

 

如果没有匹配的资源是可用的,系统将使用默认的资源和规模向上或向下需要,以符合当前的屏幕大小和密度。

术语和概念:

1、屏幕尺寸

实际的物理尺寸,屏幕的对角线测量。

为方便起见,Android的群体所有实际屏幕尺寸分为四个广义的大小:小,正常,大,特大。

2、屏幕密度

屏幕的物理面积内像素的数量,通常称为DPI(每英寸点数)。 例如,“低”的密度屏幕在一个给定的物理区域内,相比一个“正常”或“高”密度屏幕有较少的像素。

为方便起见,Android的屏幕密度分为四个广义密度:低,中,高,特高。

3、方向

从用户的角度来看,屏幕的方向。

4、分辨率

在屏幕上的物理像素总数。

5、密度无关的像素(DP)

一个虚拟像素单元,在使用定义UI的布局时,以密度无关的方式来表达布局尺寸或位置。在运行时,系统直接处理DP单位,必要时根据实际使用的屏幕密度缩放。DP单位转换为屏幕像素:px = dp * (dpi / 160)) 。例如,一个240 dpi屏幕上,1 DP等于1.5物理像素。定义应用程序的UI时,应该总是使用DP单位,以确保不同密度的屏幕上显示的用户界面适当。

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值