发明内容
为了解决背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题,本发明实施例提供了一种自适应显示方法、配置文件生成方法和装置。所述技术方案如下:
第一方面,提供了一种自适应显示方法,所述方法包括:
获取当前设备的显示分辨率和布局大小;
在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;
根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
根据所述实际像素大小和所述实际文字大小显示所述显示界面。
在第一方面的第一种可能的实施方式中,所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将所述非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
所述根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小,包括:
获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小之后,还包括:
当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
结合第一方面、第一方面的第一种可能的实施方式或者第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件,包括:
判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
结合第一方面,在第一方面的第四种可能的实施方式中,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小,包括:
获取所述显示界面中的每个文字类布局元素的自定义文字大小;
对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式或者第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件,包括:
判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
结合第一方面,在第一方面的第六种可能的实施方式中,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件之前,还包括:
读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第二方面,提供了一种配置文件生成方法,所述方法包括:
对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件;
对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
在第二方面的第一种可能的实施方式中,所述对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件,包括:
根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数;
将各个所述自定义像素大小乘以所述预定比例系数得到对应的所述实际像素大小;
根据所述自定义像素大小与所述实际像素大小之间的布局对应关系生成所述布局配置文件。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数,包括:
将所述显示分辨率的横向像素值除以所述标准显示分辨率的横向像素值得到横向比例系数;
将所述显示分辨率的纵向像素值除以所述标准显示分辨率的纵向像素值得到纵向比例系数;
判断所述横向比例系数与所述纵向比例系数是否相同;
若判断结果为所述横向比例系数与所述纵向比例系数相同,则将所述横向比例系数或者所述纵向比例系数作为所述预定比例系数;
若判断结果为所述横向比例系数与所述纵向比例系数不同,将所述横向比例系数与所述纵向比例系数之间的较小值作为所述预定比例系数。
结合第二方面、第二方面的第一种可能的实施方式或者第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述方法还包括:
记录在所述标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小;
将每个非文字类布局元素的实际像素大小转换为所述非文字类布局元素的自定义像素大小。
结合第二方面,在第二方面的第四种可能的实施方式中,所述根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件,包括:
将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;或者,将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第二方面,在第二方面的第五种可能的实施方式中,所述根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件,包括:
将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;
检测所述实际文字大小是否小于最小可视文字大小;
若检测结果为小于所述最小可视文字大小,则将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第二方面、第二方面的第四种可能的实施方式或者第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述方法还包括:
记录在所述标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小;
将每个文字类布局元素的实际文字大小转换为所述文字类布局元素的自定义文字大小。
结合第二方面,在第二方面的第七种可能的实施方式中,所述方法还包括:
生成应用程序的安装包,所述安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第三方面,提供了一种自适应显示装置,所述装置包括:
属性获取模块,用于获取当前设备的显示分辨率和布局大小;
布局选择模块,用于在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;
布局确定模块,用于根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
文字选择模块,用于在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
文字确定模块,用于根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
界面显示模块,用于根据所述实际像素大小和所述实际文字大小显示所述显示界面。
在第三方面的第一种可能的实施方式中,所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将所述非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
所述布局确定模块,包括:像素获取单元、像素查找单元和像素确定单元;
所述像素获取单元,用于获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
所述像素查找单元,用于对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
所述像素确定单元,用于将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小。
结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述布局确定模块,还包括:像素检测单元和像素替换单元;
所述像素检测单元,用于当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
所述像素替换单元,用于若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
结合第三方面、第三方面的第一种可能的实施方式或者第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,所述布局选择模块,包括:布局判断单元、第一选择单元和第二选择单元;
所述布局判断单元,用于判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第一选择单元,用于若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第二选择单元,用于若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
结合第三方面,在第三方面的第四种可能的实施方式中,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述文字确定模块,包括:文字获取单元、文字查找单元和文字确定单元;
所述文字获取单元,用于获取所述显示界面中的每个文字类布局元素的自定义文字大小;
所述文字查找单元,用于对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
所述文字确定单元,用于将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
结合第三方面、第三方面的第一种可能的实施方式、第三方面的第二种可能的实施方式、第三方面的第三种可能的实施方式或者第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述文字选择模块,包括:文字判断单元、第一选取单元和第二选取单元;
所述文字判断单元,用于判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第一选取单元,用于若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第二选取单元,用于若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
结合第三方面,在第三方面的第六种可能的实施方式中,所述装置还包括:
安装读取模块,用于读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第四方面,提供了一种配置文件生成装置,所述装置包括:
布局生成模块,用于对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件;
文字生成模块,用于对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
在第四方面的第一种可能的实施方式中,所述布局生成模块,包括:系数确定单元、像素对应单元和布局生成单元;
所述系数确定单元,用于根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数;
所述像素对应单元,用于将各个所述自定义像素大小乘以所述预定比例系数得到对应的所述实际像素大小;
所述布局生成单元,用于根据所述自定义像素大小与所述实际像素大小之间的布局对应关系生成所述布局配置文件。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述系数确定单元,包括:横向计算子单元、纵向计算子单元、系数判断子单元、第一执行子单元和第二执行子单元;
所述横向计算子单元,用于将所述显示分辨率的横向像素值除以所述标准显示分辨率的横向像素值得到横向比例系数;
所述纵向计算子单元,用于将所述显示分辨率的纵向像素值除以所述标准显示分辨率的纵向像素值得到纵向比例系数;
所述系数判断子单元,用于判断所述横向比例系数与所述纵向比例系数是否相同;
所述第一执行子单元,用于若判断结果为所述横向比例系数与所述纵向比例系数相同,则将所述横向比例系数或者所述纵向比例系数作为所述预定比例系数;
所述第二执行子单元,用于若判断结果为所述横向比例系数与所述纵向比例系数不同,将所述横向比例系数与所述纵向比例系数之间的较小值作为所述预定比例系数。
结合第四方面、第四方面的第一种可能的实施方式或者第四方面的第二种可能的实施方式,在第四方面的第三种可能的实施方式中,所述装置还包括:
像素记录模块,用于记录在所述标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小;
像素转换模块,用于将每个非文字类布局元素的实际像素大小转换为所述非文字类布局元素的自定义像素大小。
结合第四方面,在第四方面的第四种可能的实施方式中,所述文字生成模块,包括:文字计算单元和文字生成单元;
所述文字计算单元,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;或者,将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
所述文字生成单元,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第四方面,在第四方面的第五种可能的实施方式中,所述文字生成模块,包括:文字缩放单元、文字检测单元、再次缩放单元和文件生成单元;
所述文字缩放单元,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;
所述文字检测单元,用于检测所述实际文字大小是否小于最小可视文字大小;
所述再次缩放单元,用于若检测结果为小于所述最小可视文字大小,则将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
所述文件生成单元,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第四方面、第四方面的第四种可能的实施方式或者第四方面的第五种可能的实施方式,在第四方面的第六种可能的实施方式中,所述装置还包括:
文字记录模块,用于记录在所述标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小;
文字转换模块,用于将每个文字类布局元素的实际文字大小转换为所述文字类布局元素的自定义文字大小。
结合第四方面,在第四方面的第七种可能的实施方式中,所述装置还包括:
安装生成模块,用于生成应用程序的安装包,所述安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
本发明实施例提供的技术方案带来的有益效果是:
通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
发明人发现,应用程序的显示界面中的布局元素可以分为两类,一类是包括控件和空白区域在内的非文字类布局,另一类是包括文字在内的文字类布局。本发明实施例提供的自适应显示方案,通过在应用程序的安装包中添加配置文件,能够使得应用程序高效而又便捷地在不同屏幕的电子设备中实现自适应显示。其中,配置文件的作用在于将以标准设备为样本开发的应用程序的显示界面中的布局元素根据当前设备的显示参数进行动态缩放。
在对本发明实施例提供的自适应显示方案进行详细介绍和说明之前,首先介绍在本发明各个实施例中需要用到的几个单位。请结合参考图1,图1示出了两台横屏模式下的手机的示意图,两台手机的屏幕尺寸均为4.6英寸,屏幕长宽比均为16:9。不同的是,左侧手机的显示分辨率为640*360,而右侧手机的显示分辨率为1280*720。下面,参见图示对本发明各个实施例中需要用到的几个单位作如下说明:
1、长度单位(英寸in):表示屏幕的物理尺寸。如图1左侧的手机,该手机的屏幕尺寸为4.6英寸,表示手机屏幕对角线c的长度为4.6英寸,约为11.7厘米。另外,由于其屏幕长宽比为16:9,运用勾股定理即可计算出该手机屏幕的长a=4英寸,宽b=2.25英寸。
2、像素单位(px):表示屏幕的实际像素值。如图1左侧的手机,该手机的显示分辨率为640*360,表示该手机屏幕的横向像素值为640px,纵向像素值为360px。再如图1右侧的手机,该手机的显示分辨率为1280*720,表示该手机屏幕的横向像素值为1280px,纵向像素值为720px。
3、像素密度单位(dpi):表示每英寸的像素。如图1左侧手机,该手机屏幕长a=4英寸,手机屏幕的横向像素值为640px,则该手机屏幕的像素密度为640/4=160dpi。再如图1右侧手机,该手机屏幕长a=4英寸,手机屏幕的横向像素值为1280px,则该手机屏幕的像素密度为1280/4=320dpi。
4、布局大小单位(dp):表示屏幕上与像素密度无关的像素,不论屏幕的像素密度为多少,1英寸=160dp。如图1中两个手机的布局大小均为640dp×360dp。
需要说明的是,dp表示的是屏幕上与像素密度无关的像素,也即当屏幕的像素密度改变时,1英寸所包含的dp始终是不变,始终等于160dp;但是px表示的是屏幕上实际的像素,当屏幕的像素密度改变时,1英寸所包含的px会改变。比如,图1左侧的手机屏幕中:1英寸=160dp=160px;但图1右侧的手机屏幕中:1英寸=160dp=320px。
在实际应用中,dp常用于表示视觉上实际看到的尺寸大小,比如屏幕上一个按钮的长度为100dp,两个按钮之间的空白区域的间隔为18dp。
5、文字大小单位(sp):表示屏幕上与像素密度和字体缩放度无关的像素。在实际应用中,sp与dp类似,sp用于表示视觉上实际看到的文字大小,比如一个文字为16sp,而另一个文字为12sp。其中,16sp的文字比12sp的文字看上去大。
下面,首先通过图2和图3A所示实施例介绍布局配置文件和文字配置文件的生成方法。该布局配置文件和文字配置文件用于在后续的自适应显示过程中,为安装应用程序的电子设备提供各个布局元素的缩放参考。在图2和图3A所示的实施例中,涉及到的终端为用于生成这两种配置文件的终端,可以是膝上型便携计算机或者台式计算机。
请参考图2,其示出了本发明一个实施例提供的配置文件生成方法的方法流程图,该配置文件生成方法用于终端中。该配置文件生成方法包括如下几个步骤:
步骤202,对于待适配的每种显示分辨率,根据显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于显示分辨率的布局配置文件。
步骤204,对于待适配的每种布局大小,获取与布局大小相对应的梯度缩放因子,根据梯度缩放因子生成对应于布局大小的文字配置文件。
其中,梯度缩放因子为根据布局大小与标准设备的标准布局大小之间的相对大小关系而预先设定的。
综上所述,本实施例提供的配置文件生成方法,对于待适配的每种显示分辨率,通过根据显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于显示分辨率的布局配置文件;对于待适配的每种布局大小,通过获取与布局大小相对应的梯度缩放因子,根据梯度缩放因子生成对应于布局大小的文字配置文件;解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了通过在应用程序的安装包中添加生成的若干个布局配置文件和文字配置文件,使得应用程序的显示界面能够在不同屏幕中自适应显示;同时,该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
请参考图3A,其示出了本发明另一实施例提供的配置文件生成方法的方法流程图,该配置文件生成方法用于终端中。该配置文件生成方法包括如下几个步骤:
步骤301,记录在标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小。
在应用程序的开发阶段,研发人员首先选定标准设备,比如选定屏幕尺寸为10英寸、显示分辨率为1280*800、布局大小为1280dp×800dp、屏幕长宽比为16:10且屏幕像素密度为160dpi的平板电脑为标准设备。之后,研发人员以标准设备为样本进行应用程序的开发,其中涉及到应用程序的显示界面中各个布局元素的大小、数量以及摆放位置等内容的确定。
在研发人员以标准设备为样本完成整个应用程序的开发之后,终端记录在标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小。其中,非文字类布局元素包括控件和空白区域。
请结合参考图3B,假设图3B是一个在标准设备下开发的应用程序的显示界面的示意图,同时假设该标准设备为屏幕尺寸为10英寸、显示分辨率为1280*800、布局大小为1280dp×800dp、屏幕长宽比为16:10且屏幕像素密度为160dpi的平板电脑。该显示界面中的非文字类布局元素包括:返回按钮控件21、菜单按钮控件22、滚动列表控件23、图片控件24和空白区域25等等。
终端记录各个非文字类布局元素的实际像素大小。比如,返回按钮控件21的实际像素大小为:长度a=100px、宽度b=40px;滚动列表控件23的实际像素大小为:长度L=640px;空白区域25的实际像素大小为:距离s=50px。
步骤302,将每个非文字类布局元素的实际像素大小转换为非文字类布局元素的自定义像素大小。
终端将每个非文字类布局元素的实际像素大小转换为非文字类布局元素的自定义像素大小。自定义像素大小是用于在后续进行自适应显示的过程中将非文字类布局元素在不同显示分辨率下进行等比缩放而设置的。
在一种可能的实现方式中,每个非文字类布局元素的自定义像素大小在数值上等于该非文字类布局元素在标准设备下的实际像素大小。不同的是,自定义像素大小的单位为npx。
在本实施例中,得到的返回按钮控件21的自定义像素大小为:长度a=100npx、宽度b=40npx;滚动列表控件23的自定义像素大小为:长度L=640npx;空白区域25的自定义像素大小为:距离s=50npx。
步骤303,记录在标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小。
与步骤301类似,在研发人员以标准设备为样本完成整个应用程序的开发之后,终端还需记录在标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小。其中,文字类布局元素包括文字。
结合参考图3B,图3B所示的显示界面中的文字类布局元素包括:“标题栏”文字26、“列表项1”文字27以及“返回”文字28等等。终端记录各个文字类布局元素的实际文字大小。比如,“标题栏”文字26的实际文字大小为16sp;“列表项1”文字27的实际文字大小为14sp;“返回”文字28的实际文字大小为16sp。
步骤304,将每个文字类布局元素的实际文字大小转换为文字类布局元素的自定义文字大小。
与步骤302类似,终端将每个文字类布局元素的实际文字大小转换为文字类布局元素的自定义文字大小。自定义文字大小是用于在后续进行自适应显示的过程中将文字类布局元素在不同布局大小下进行梯度缩放而设置的。
在一种可能的实现方式中,每个文字类布局元素的自定义文字大小在数值上等于该文字类布局元素在标准设备下的实际文字大小。不同的是,自定义文字大小的单位为ssp。
在本实施例中,得到的“标题栏”文字26的自定义文字大小为16ssp;“列表项1”文字27的自定义文字大小为14ssp;“返回”文字28的自定义文字大小为16ssp。
在本发明提供的自适应显示机制中,一款应用程序只需一个版本,该版本即为研发人员以标准设备为样本完成开发的版本。该版本中的非文字类布局元素以自定义像素大小表示,且文字类布局元素以自定义文字大小表示。
需要说明的是,上述步骤303可以在步骤301之前进行,也可以与步骤301同时进行,还可以在步骤301之后进行。通常情况下,步骤303与步骤301同时进行,本实施例仅以步骤303在步骤301之后进行来举例说明,对此不作具体限定。同样地,上述步骤304可以在步骤302之前进行,也可以与步骤302同时进行,还可以在步骤302之后进行。通常情况下,步骤304与步骤302同时进行,本实施例仅以步骤304在步骤302之后进行来举例说明,对此不作具体限定。
步骤305,对于待适配的每种显示分辨率,根据显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数。
对于待适配的每种显示分辨率,终端根据显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数。其中,待适配的显示分辨率是指研发人员预先选取的若干个可能的需要适配的目标设备的显示分辨率。比如,选取800*400、1024*600、1280*800、1600*1000、1920*1200、2240*1400以及2560*1600这7种待适配的显示分辨率。
具体来讲,如图3C所示,本步骤包括如下几个子步骤:
步骤305a,将显示分辨率的横向像素值除以标准显示分辨率的横向像素值得到横向比例系数。
终端将显示分辨率的横向像素值除以标准显示分辨率的横向像素值得到横向比例系数。横向像素值是指显示分辨率中较大的像素值。以λ横向表示横向比例系数,w待适配表示待适配的显示分辨率的横向像素值,w标准表示标准设备的显示分辨率的横向像素值。
在本实施例中,以待适配的显示分辨率为1024*600和2560*1600两种来举例说明。当待适配的显示分辨率为1024*600时,横向比例系数λ横向=w待适配/w标准=1024/1280=0.8。当待适配的显示分辨率为2560*1600时,横向比例系数λ横向=w待适配/w标准=2560/1280=2。
步骤305b,将显示分辨率的纵向像素值除以标准显示分辨率的纵向像素值得到纵向比例系数。
终端将显示分辨率的纵向像素值除以标准显示分辨率的纵向像素值得到纵向比例系数。纵向像素值是指显示分辨率中较小的像素值。以λ纵向表示纵向比例系数,l待适配表示待适配的显示分辨率的纵向像素值,l标准表示标准设备的显示分辨率的纵向像素值。
当待适配的显示分辨率为1024*600时,纵向比例系数λ纵向=l待适配/l标准=600/800=0.75。当待适配的显示分辨率为2560*1600时,纵向比例系数λ纵向=l待适配/l标准=1600/800=2。
步骤305c,判断横向比例系数与纵向比例系数是否相同。
终端对计算得到的横向比例系数λ横向与纵向比例系数λ纵向进行比较,判断横向比例系数λ横向与纵向比例系数λ纵向是否相同。
步骤305d,若判断结果为横向比例系数与纵向比例系数相同,则将横向比例系数或者纵向比例系数作为预定比例系数。
当判断结果为横向比例系数λ横向与纵向比例系数λ纵向相同时,终端将横向比例系数λ横向或者纵向比例系数λ纵向作为预定比例系数。由于两者相同,所以任一选择其一作为预定比例系数即可。
以λ表示预定比例系数。由于当待适配的显示分辨率为2560*1600时,λ横向=λ纵向=2,所以λ也等于2。
步骤305e,若判断结果为横向比例系数与纵向比例系数不同,将横向比例系数与纵向比例系数之间的较小值作为预定比例系数。
当判断结果为横向比例系数λ横向与纵向比例系数λ纵向不同时,终端将横向比例系数λ横向与纵向比例系数λ纵向之间的较小值作为预定比例系数λ。由于当待适配的显示分辨率为1024*600时,λ横向=0.8而λ纵向=0.75,所以λ等于0.75。
步骤306,将各个自定义像素大小乘以预定比例系数得到对应的实际像素大小。
终端将各个自定义像素大小乘以预定比例系数得到对应的实际像素大小。
当待适配的显示分辨率为1024*600时,得到的返回按钮控件21的自定义像素大小对应的实际像素大小为:长度a′=100npx×0.75=75px、宽度b′=40npx×0.75=30px;滚动列表控件23的自定义像素大小对应的实际像素大小为:长度L′=640npx×0.75=480px;空白区域25的自定义像素大小对应的实际像素大小为:距离s=50npx×0.75=37px。
当待适配的显示分辨率为2560*1600时,得到的返回按钮控件21的自定义像素大小对应的实际像素大小为:长度a′=100npx×2=200px、宽度b′=40npx×2=80px;滚动列表控件23的自定义像素大小对应的实际像素大小为:长度L′=640npx×2=1280px;空白区域25的自定义像素大小对应的实际像素大小为:距离s=50npx×2=100px。
对于一款应用程序来说,只需计算该应用程序的显示界面中所包含的非文字类布局元素的自定义像素大小所对应的各种待适配的显示分辨率下的实际像素大小。然而考虑到应用程序在后续更新时可能会增加一些非文字类布局元素,以及避免需要针对特定的应用程序选取特定的自定义像素大小进行计算,可以直接选取若干个连续的自定义像素大小进行计算得到对应的各种待适配的显示分辨率下的实际像素大小。比如,选取1npx至1000npx这1000个自定义像素大小进行计算。因此,在本实施例中,当选取的待适配的显示分辨率为800*400、1024*600、1280*800、1600*1000、1920*1200、2240*1400以及2560*1600这7种时,每种所对应的自定义像素大小与实际像素大小之间的布局对应关系可以是如下表-1所示:
表-1
其中,当计算得到的实际像素大小不为整数时,进行取整。另外,表-1中仅以“=”表示自定义像素大小与实际像素大小之间的布局对应关系,具体的存储该布局对应关系的格式可以根据实际情况而定。
步骤307,根据自定义像素大小与实际像素大小之间的布局对应关系生成布局配置文件。
终端根据自定义像素大小与实际像素大小之间的布局对应关系生成布局配置文件。终端生成的布局配置文件的数量与选取的待适配的显示分辨率的数量相同,每个布局配置文件中存储有对应于一种待适配的显示分辨率下的自定义像素大小与实际像素大小之间的布局对应关系。另外,终端还可以给不同的布局配置文件的文件名配置与其对应的显示分辨率,以此区分不同的布局配置文件。
步骤308,对于待适配的每种布局大小,获取与布局大小相对应的梯度缩放因子。
对于待适配的每种布局大小,终端获取与布局大小相对应的梯度缩放因子。其中,待适配的布局大小是指研发人员预先选取的若干个可能的需要适配的目标设备的布局大小。比如,选取426dp×320dp、470dp×320dp、640dp×480dp以及960dp×720dp这4种待适配的布局大小。
梯度缩放因子为根据布局大小与标准设备的标准布局大小之间的相对大小关系而预先设定的。对于标准布局大小为1280dp×800dp的标准设备而言,优选地,可以设定布局大小为426dp×320dp所对应的梯度缩放因子为0.7;设定布局大小为470dp×320dp所对应的梯度缩放因子为0.8;设定布局大小为640dp×480dp所对应的梯度缩放因子为0.9;设定布局大小为960dp×720dp所对应的梯度缩放因子为1。
步骤309,根据梯度缩放因子生成对应于布局大小的文字配置文件。
终端根据梯度缩放因子生成对应于布局大小的文字配置文件。终端生成的文字配置文件的数量与选取的待适配的布局大小的数量相同,每个文字配置文件中存储有对应于一种待适配的布局大小下的自定义文字大小与实际文字大小之间的文字对应关系。与布局配置文件类似地,终端还可以给不同的文字配置文件的文件名配置与其对应的布局大小,以此区分不同的文字配置文件。
具体来讲,本步骤包括如下几个子步骤:
第一,将各个自定义文字大小乘以梯度缩放因子得到对应的实际文字大小。
终端将各个自定义文字大小乘以梯度缩放因子得到对应的实际文字大小。以K表示梯度缩放因子,待适配的布局大小下的实际文字大小=K×自定义文字大小。
当待适配的布局大小为426dp×320dp时,得到的“标题栏”文字26的自定义文字大小对应的实际文字大小为16ssp×0.7=11sp;“列表项1”文字27的自定义文字大小对应的实际文字大小为14ssp×0.7=9sp;“返回”文字28的自定义文字大小对应的实际文字大小为16ssp×0.7=11sp。
当待适配的布局大小为640dp×480dp时,得到的“标题栏”文字26的自定义文字大小对应的实际文字大小为16ssp×0.9=14sp;“列表项1”文字27的自定义文字大小对应的实际文字大小为14ssp×0.9=12sp;“返回”文字28的自定义文字大小对应的实际文字大小为16ssp×0.9=14sp。
第二,检测实际文字大小是否小于最小可视文字大小。
终端检测实际文字大小是否小于最小可视文字大小。为了保证显示的文字为用户可见,实际文字大小应不小于最小可视文字大小。当文字大小小于最小可视文字大小时,用户无法清楚看清文字,影响电子设备的操作和使用。最小可视文字大小可以根据不同的设备、不同的布局大小以及实际情况预先设定。通常来说,当实际文字大小小于12sp时,用户就可能无法看清文字,所以在本实施例中,假设最小可视文字大小为12sp。
在上一步骤中,当待适配的布局大小为426dp×320dp时,得到的“标题栏”文字26的自定义文字大小对应的实际文字大小为16ssp×0.7=11sp;“列表项1”文字27的自定义文字大小对应的实际文字大小为14ssp×0.7=9sp;“返回”文字28的自定义文字大小对应的实际文字大小为16ssp×0.7=11sp。该3个实际文字大小均小于最小可视文字大小12sp。
第三,若检测结果为小于最小可视文字大小,则将各个自定义文字大小与最小可视文字大小之差乘以梯度缩放因子,然后再加上最小可视文字大小得到对应的实际文字大小。
当检测结果为小于最小可视文字大小时,终端将各个自定义文字大小与最小可视文字大小之差乘以梯度缩放因子,然后再加上最小可视文字大小得到对应的实际文字大小。以Ymin表示最小可视文字大小,待适配的布局大小下的实际文字大小=K×(自定义文字大小-Ymin)+Ymin。通过上述公式计算得到的待适配的布局大小下的实际文字大小,可以保证其不小于最小可视文字大小。比如,通过此公式计算得到的待适配的布局大小为426dp×320dp时的“标题栏”文字26的实际文字大小为:0.7×(16-12)+12=14sp>最小可视文字大小12sp。再比如,通过此公式计算得到的待适配的布局大小为426dp×320dp时的“列表项1”文字27的实际文字大小为:0.7×(14-12)+12=13sp>最小可视文字大小12sp。
第四,根据自定义文字大小与实际文字大小之间的文字对应关系生成文字配置文件。
与上述步骤307类似,终端根据自定义文字大小与实际文字大小之间的文字对应关系生成文字配置文件。终端生成的文字配置文件的数量与选取的待适配的布局大小的数量相同,每个文字配置文件中存储有对应于一种待适配的布局大小下的自定义文字大小与实际文字大小之间的文字对应关系。另外,终端还可以给不同的文字配置文件的文件名配置与其对应的布局大小,以此区分不同的文字配置文件。
对于一款应用程序来说,只需计算该应用程序的显示界面中所包含的文字类布局元素的自定义文字大小所对应的各种待适配的布局大小下的实际文字大小。然而考虑到应用程序在后续更新时可能会增加一些文字类布局元素,以及避免需要针对特定的应用程序选取特定的自定义文字大小进行计算,可以直接选取若干个连续的自定义文字大小进行计算得到对应的各种待适配的布局大小下的实际文字大小。比如,选取12ssp至51ssp这40个自定义文字大小进行计算。因此,在本实施例中,当选取的待适配的布局大小为426dp×320dp、470dp×320dp、640dp×480dp以及960dp×720dp这4种时,每种所对应的自定义文字大小与实际文字大小之间的文字对应关系可以是如下表-2所示:
426dp×320dp |
470dp×320dp |
640dp×480dp |
960dp×720dp |
12ssp=12sp |
12ssp=12sp |
12ssp=12sp |
12ssp=12sp |
13ssp=12sp |
13ssp=12sp |
13ssp=12sp |
13ssp=13sp |
14ssp=13sp |
14ssp=13sp |
14ssp=12sp |
14ssp=14sp |
15ssp=14sp |
15ssp=12sp |
15ssp=13sp |
15ssp=15sp |
16ssp=14sp |
16ssp=12sp |
16ssp=14sp |
16ssp=16sp |
… |
… |
… |
… |
jssp=[0.7j]sp |
jssp=[0.8j]sp |
jssp=[0.9j]sp |
jssp=[j]sp |
… |
… |
… |
… |
表-2
其中,当计算得到的实际文字大小不为整数时,进行取整。另外,表-2中仅以“=”表示自定义文字大小与实际文字大小之间的文字对应关系,具体的存储该文字对应关系的格式可以根据实际情况而定。
需要说明的是,在其它可能的实现方式中,文字配置文件的生成可能只包含上述第一和第四两个步骤,或者只包含上述第三和第四两个步骤。在较为优选的实施例中,文字配置文件的生成可以包含有上述第一至第四四个步骤。在实际应用中,可以根据实际情况选定合适的实现方式,对此不作具体限定。
另外,上述步骤308至步骤309可以在步骤305至步骤307之前进行,也可以与步骤305至步骤307同时进行,还可以在步骤305至步骤307之后进行。通常来说,步骤308至步骤309与步骤305至步骤307同时进行。在本实施例中,仅以步骤308至步骤309在步骤305至步骤307之后进行来举例说明,对此不作具体限定。
步骤310,生成应用程序的安装包。
在生成布局配置文件和文字配置文件之后,终端生成应用程序的安装包,并将生成的布局配置文件和文字配置文件与应用程序的诸如代码之类的其它文件一并打包进安装包中。对于一款应用程序来说,该应用程序的安装包包括至少一个布局配置文件和至少一个文字配置文件。通常来说,为了使得一款应用程序所能适配的电子设备的数量和种类更多,且达到的适配效果越好,给一款应用程序配备多个布局配置文件和多个文字配置文件。在本实施例中,给应用程序配备了7个布局配置文件和4个文字配置文件。
还需要说明的是,待适配的显示分辨率以及待适配的布局大小的取值和数量可以在实际应用中根据实际情况而定,本实施例提供的取值和数量仅是示例性的,对此不作具体限定。
综上所述,本实施例提供的配置文件生成方法,对于待适配的每种显示分辨率,通过根据显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于显示分辨率的布局配置文件;对于待适配的每种布局大小,通过获取与布局大小相对应的梯度缩放因子,根据梯度缩放因子生成对应于布局大小的文字配置文件;解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了通过在应用程序的安装包中添加生成的若干个布局配置文件和文字配置文件,使得应用程序的显示界面能够在不同屏幕中自适应显示;同时,该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
另外,通过预先选取的若干个待适配的显示分辨率和若干个待适配的布局大小,使得生成的配置文件涵盖了诸如手机和平板电脑在内的绝大多数便携式电子设备,充分保证了在后续进行自适应显示的过程中对配置文件的可选择性。另外,还可以通过添加更多的配置文件使得应用程序所能够适配的电子设备的范围更广,数量更多。本实施例提供的配置文件生成方法,还通过设置最小可视文字大小,保证了在后续完成自适应显示后显示界面中的文字为用户可见。
在上述图2和图3A所示的实施例中,具体介绍了如何生成布局配置文件和文字配置文件,并将布局配置文件和文字配置文件一并打包进应用程序的安装包中。下面,将通过图4和图5A所示的实施例具体介绍应用程序的安装包安装于不同屏幕的电子设备时,如何实现显示内容的自适应显示。另外,在图4和图5A所示的实施例中,涉及的电子设备可以是手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio LayerIII,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group AudioLayer IV,动态影像专家压缩标准音频层面3)播放器、膝上型便携计算机、台式计算机以及智能电视等等。
请参考图4,其示出了本发明一个实施例提供的自适应显示方法的方法流程图,该自适应显示方法用于电子设备中。该自适应显示方法包括如下几个步骤:
步骤402,获取当前设备的显示分辨率和布局大小。
步骤404,在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件。
步骤406,根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小。
步骤408,在至少一个文字配置文件中选择与布局大小对应的文字配置文件。
步骤410,根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小。
步骤412,根据实际像素大小和实际文字大小显示显示界面。
需要说明的是,上述步骤408至步骤410可以在步骤404至步骤406之前进行,也可以与步骤404至步骤406同时进行,还可以在步骤404至步骤406之后进行。通常情况下,步骤408至步骤410与步骤404至步骤406同时进行。在本实施例中,仅以步骤408至步骤410在步骤404至步骤406之后进行来举例说明,对此不作具体限定。
综上所述,本实施例提供的自适应显示方法,通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
请参考图5A,其示出了本发明另一实施例提供的自适应显示方法的方法流程图,该自适应显示方法用于电子设备中。该自适应显示方法包括如下几个步骤:
步骤501,读取应用程序的安装包。
电子设备读取应用程序的安装包,应用程序的安装包包括至少一个布局配置文件和至少一个文字配置文件。
其中,布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,自定义像素大小是用于将非文字类布局元素在不同显示分辨率下进行等比缩放而设置的。文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,自定义文字大小是用于将文字类布局元素在不同布局大小下进行梯度缩放而设置的。
参考图3A所示实施例可知,该安装包中包括7个布局配置文件和4个文字配置文件,且7个布局配置文件中所包含的布局对应关系如上述图3A所示实施例中的表-1所示,4个文字配置文件中所包含的文字对应关系如上述图3A所示实施例中的表-2所示。
步骤502,获取当前设备的显示分辨率和布局大小。
当前设备即为应用程序安装至的设备。具体地,可以通过查看设备的基本信息或者屏幕的基本信息获取到当前设备的显示分辨率和布局大小。
在本实施例中,假设应用程序分别安装于电子设备1和电子设备2两个不同的设备。其中,电子设备1的显示分辨率为1280*800,布局大小为1280dp×800dp;电子设备2的显示分辨率为1280*720,布局大小为640dp×360dp。
步骤503,在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件。
电子设备在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件。结合参考图3A所示实施例中的步骤306,7个布局配置文件所对应的显示分辨率分别为800*400、1024*600、1280*800、1600*1000、1920*1200、2240*1400以及2560*1600。电子设备根据自身的显示分辨率从该7个布局配置文件中选取与自身的显示分辨率对应的布局配置文件。
具体来讲,本步骤包括如下几个子步骤:
第一,判断至少一个布局配置文件中是否存在与当前设备的显示分辨率直接对应的布局配置文件。
电子设备判断至少一个布局配置文件中是否存在与自身的显示分辨率直接对应的布局配置文件。其中,直接对应是指布局配置文件所对应的显示分辨率与电子设备的显示分辨率相同。
比如,电子设备1在7个布局配置文件中查找并判断发现存在与自身的显示分辨率1280*800直接对应的布局配置文件;而电子设备2在7个布局配置文件中查找并判断发现不存在与自身的显示分辨率1280*720直接对应的布局配置文件。
第二,若判断结果为存在与当前设备的显示分辨率直接对应的布局配置文件,则选择与当前设备的显示分辨率直接对应的布局配置文件。
当判断结果为存在与当前设备的显示分辨率直接对应的布局配置文件时,电子设备选择与当前设备的显示分辨率直接对应的布局配置文件。
在本实施例中,电子设备1选取对应于显示分辨率1280*800的布局配置文件。
第三,若判断结果为不存在与当前设备的显示分辨率直接对应的布局配置文件,则选择比当前设备的显示分辨率小但最接近于当前设备的显示分辨率所对应的布局配置文件。
为了使得以标准设备为样本开发的应用程序的显示界面能够在适配的电子设备下完全显示,当判断结果为不存在与当前设备的显示分辨率直接对应的布局配置文件时,电子设备选择比当前设备的显示分辨率小但最接近于当前设备的显示分辨率所对应的布局配置文件。
在本实施例中,电子设备2选取对应于显示分辨率1024*600的布局配置文件。
步骤504,根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小。
电子设备根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小。请结合参考上述图3A所示实施例中的表-1,由于每个布局配置文件包含有不同自定义像素大小与不同实际像素大小之间的布局对应关系,因此电子设备可以根据显示界面中各个非文字类布局元素的自定义像素大小以及该布局对应关系得到适合在自身的设备环境下进行显示的实际像素大小。
具体来讲,如图5B所示,本步骤包括如下几个子步骤:
步骤504a,获取显示界面中的每个非文字类布局元素的自定义像素大小。
电子设备获取显示界面中的每个非文字类布局元素的自定义像素大小。在图3A所示的实施例中已经介绍,在本发明提供的自适应显示机制中,一款应用程序只需一个版本,该版本即为研发人员以标准设备为样本完成开发的版本。该版本中的非文字类布局元素以自定义像素大小表示,且文字类布局元素以自定义文字大小表示。由此可见,电子设备可以从应用程序的安装包中获取显示界面中的每个非文字类布局元素的自定义像素大小。
比如,不论是电子设备1还是电子设备2,获取到的返回按钮控件21的自定义像素大小为:长度a=100npx、宽度b=40npx;滚动列表控件23的自定义像素大小为:长度L=640npx;空白区域25的自定义像素大小为:距离s=50npx。
504b,对于每个非文字类布局元素,根据非文字类布局元素的自定义像素大小在布局对应关系中查找对应的实际像素大小。
对于每个非文字类布局元素,电子设备根据非文字类布局元素的自定义像素大小在布局对应关系中查找对应的实际像素大小。
电子设备1在对应于显示分辨率1280*800的布局配置文件中查找发现,当自定义像素大小为100npx时,对应的实际像素大小为100px;当自定义像素大小为40npx时,对应的实际像素大小为40px;当自定义像素大小为640npx时,对应的实际像素大小为640px等等。
电子设备2在对应于显示分辨率1024*600的布局配置文件中查找发现,当自定义像素大小为100npx时,对应的实际像素大小为75px;当自定义像素大小为40npx时,对应的实际像素大小为30px;当自定义像素大小为640npx时,对应的实际像素大小为480px等等。
504c,将查找到的实际像素大小作为非文字类布局元素的实际像素大小。
电子设备将查找到的实际像素大小作为非文字类布局元素的实际像素大小,该实际像素大小即为适合自身的设备环境对各个非文字类布局元素进行显示的实际像素大小。
电子设备1得到的适合自身的设备环境进行显示的返回按钮控件21的实际像素大小为:长度a=100px、宽度b=40px;滚动列表控件23的实际像素大小为:长度L=640px;空白区域25的实际像素大小为:距离s=50px。
电子设备2得到的适合自身的设备环境进行显示的返回按钮控件21的实际像素大小为:长度a=75px、宽度b=30px;滚动列表控件23的实际像素大小为:长度L=480px;空白区域25的实际像素大小为:距离s=37px。
优选地,为了保证诸如按钮、开关或者滑块等可操控布局元素为用户可以操作,避免因这些可操控布局元素太小而导致操作上的困难或者误差,在步骤504b之后还可以执行如下步骤504d和步骤504e。
步骤504d,当非文字类布局元素为可操控布局元素时,检测查找到的实际像素大小是否小于预设可操控像素大小。
电子设备可以根据各个非文字类布局元素的名称或者属性判断该非文字类布局元素是否为可操控布局元素,可操控布局元素包括按钮、开关或者滑块等控件。
当非文字类布局元素为可操控布局元素时,电子设备检测该可操控布局元素在上述步骤504b中查找到的实际像素大小是否小于预设可操控像素大小。预设可操控像素大小可以根据不同的设备、不同的显示分辨率以及实际情况预先设定。比如,将预设可操控像素大小设置为14px。
步骤504e,若检测结果为小于预设可操控像素大小,则将预设可操控像素大小作为可操控布局元素的实际像素大小。
当检测结果为小于预设可操控像素大小时,电子设备将预设可操控像素大小作为可操控布局元素的实际像素大小。比如,当检测发现查找到的一个按钮控件的长度的实际像素大小为10px,而预设可操控像素大小设置为14px,则将14px作为该按钮控件的实际像素大小。
步骤505,在至少一个文字配置文件中选择与布局大小对应的文字配置文件。
与上述步骤503类似,电子设备在至少一个文字配置文件中选择与布局大小对应的文字配置文件。结合参考图3A所示实施例中的步骤309,4个文字配置文件所对应的布局大小分别为426dp×320dp、470dp×320dp、640dp×480dp以及960dp×720dp。电子设备根据自身的布局大小从该4个文字配置文件中选取与自身的布局大小对应的文字配置文件。
具体来讲,本步骤包括如下几个子步骤:
第一,判断至少一个文字配置文件中是否存在与当前设备的布局大小直接对应的文字配置文件。
电子设备判断至少一个文字配置文件中是否存在与当前设备的布局大小直接对应的文字配置文件。其中,直接对应是指文字配置文件所对应的布局大小与电子设备的布局大小相同。
比如,电子设备1在4个文字配置文件中查找并判断发现不存在与自身的布局大小1280dp×800dp直接对应的文字配置文件;而电子设备2在4个布局配置文件中查找并判断发现也不存在与自身的布局大小640dp×360dp直接对应的文字配置文件。
第二,若判断结果为存在与当前设备的布局大小直接对应的文字配置文件,则选择与当前设备的布局大小直接对应的文字配置文件。
当判断结果为存在与当前设备的布局大小直接对应的文字配置文件时,电子设备选择与当前设备的布局大小直接对应的文字配置文件。
第三,若判断结果为不存在与当前设备的布局大小直接对应的文字配置文件,则选择比当前设备的布局大小小但最接近于当前设备的布局大小所对应的文字配置文件。
为了使得以标准设备为样本开发的应用程序的显示界面能够在适配的电子设备下完全显示,当判断结果为不存在与当前设备的布局大小直接对应的文字配置文件时,电子设备选择比当前设备的布局大小小但最接近于当前设备的布局大小所对应的文字配置文件。
在本实施例中,电子设备1选取对应于布局大小960dp×720dp的文字配置文件;电子设备2选取对应于布局大小470dp×320dp的文字配置文件。
步骤506,根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小。
电子设备根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小。请结合参考上述图3A所示实施例中的表-2,由于每个文字配置文件包含有不同自定义文字大小与不同实际文字大小之间的文字对应关系,因此电子设备可以根据显示界面中各个文字类布局元素的自定义文字大小以及该文字对应关系得到适合在自身的设备环境下进行显示的实际文字大小。
具体来讲,本步骤包括如下几个子步骤:
第一,获取显示界面中的每个文字类布局元素的自定义文字大小。
第二,对于每个文字类布局元素,根据文字类布局元素的自定义文字大小在文字对应关系中查找对应的实际文字大小。
第三,将查找到的实际文字大小作为文字类布局元素的实际文字大小。
上述第一至第三3个步骤与上述步骤504a至步骤504c类似,不再赘述。另外,由于文字配置文件在生成过程中就已经考虑了最小可视文字大小,并在生成文字对应关系时已经将较小的自定义文字大小所对应的实际文字大小作了放大处理,所以在上述第三步之后无需执行类似于步骤504d和步骤504e的步骤。
需要说明的是,上述步骤505至步骤506可以在步骤503至步骤504之前进行,也可以与步骤503至步骤504同时进行,还可以在步骤503至步骤504之后进行。通常情况下,步骤505至步骤506与步骤503至步骤504同时进行。在本实施例中,仅以步骤505至步骤506在步骤503至步骤504之后进行来举例说明,对此不作具体限定。
步骤507,根据实际像素大小和实际文字大小显示显示界面。
电子设备在确定完每个非文字类布局元素的实际像素大小以及每个文字类布局元素的实际文字大小之后,根据确定的实际像素大小和实际文字大小显示显示界面。
请结合参考图5C,图5C左侧示意图示出了将图3B所示的标准设备下的显示界面通过现有的一种自适应显示方法得到的在电子设备2中的显示界面。图5C右侧示意图示出了将图3B所示的标准设备下的显示界面通过本实施例提供的自适应显示方法得到的在电子设备2中的显示界面。其中,由于图示中的23为一滚动列表控件,所以可以根据各个列表项的实际像素大小动态调整显示界面中所显示的列表项的个数。之后,用户通过将滚动列表控件23下拉即可展现其它列表项。
相比于图5C左侧示意图,通过本实施例提供的自适应显示方法得到的在电子设备2中的显示界面更为完整,且合理地将空白区域进行了等比例缩放,而不会造成因大面积的空白区域而浪费显示界面。
综上所述,本实施例提供的自适应显示方法,通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
另外,在非文字类布局元素为可操控布局元素时,通过检测查找到的实际像素大小与预设可操控像素大小之间的大小关系,在当检测结果为查找到的实际像素大小小于预设可操控像素大小时,将预设可操控像素大小作为可操控布局元素的实际像素大小,保证了诸如按钮、开关以及滑块等可操控布局元素为用户可操作,避免了因这些布局元素过小而导致误操作甚至无法操作。
下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
请参考图6,其示出了本发明一个实施例提供的配置文件生成装置的结构方框图,该配置文件生成装置用于终端中。该配置文件生成装置可以通过软件、硬件或者两者的结合实现成为终端的部分或者全部,该配置文件生成装置包括:布局生成模块610和文字生成模块620。
布局生成模块610,用于对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件。
文字生成模块620,用于对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
综上所述,本实施例提供的配置文件生成装置,对于待适配的每种显示分辨率,通过根据显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于显示分辨率的布局配置文件;对于待适配的每种布局大小,通过获取与布局大小相对应的梯度缩放因子,根据梯度缩放因子生成对应于布局大小的文字配置文件;解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了通过在应用程序的安装包中添加生成的若干个布局配置文件和文字配置文件,使得应用程序的显示界面能够在不同屏幕中自适应显示;同时,该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
请参考图7,其示出了本发明另一实施例提供的配置文件生成装置的结构方框图,该配置文件生成装置用于终端中。该配置文件生成装置可以通过软件、硬件或者两者的结合实现成为终端的部分或者全部,该配置文件生成装置包括:像素记录模块602、像素转换模块604、文字记录模块606、文字转换模块608、布局生成模块610、文字生成模块620和安装生成模块630。
像素记录模块602,用于记录在所述标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小。
像素转换模块604,用于将每个非文字类布局元素的实际像素大小转换为所述非文字类布局元素的自定义像素大小。
文字记录模块606,用于记录在所述标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小。
文字转换模块608,用于将每个文字类布局元素的实际文字大小转换为所述文字类布局元素的自定义文字大小。
布局生成模块610,用于对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件。
具体来讲,所述布局生成模块610,包括:系数确定单元610a、像素对应单元610b和布局生成单元610c。
所述系数确定单元610a,用于根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数。
具体来讲,所述系数确定单元610a,包括:横向计算子单元610a1、纵向计算子单元610a2、系数判断子单元610a3、第一执行子单元610a4和第二执行子单元610a5。
所述横向计算子单元610a1,用于将所述显示分辨率的横向像素值除以所述标准显示分辨率的横向像素值得到横向比例系数。
所述纵向计算子单元610a2,用于将所述显示分辨率的纵向像素值除以所述标准显示分辨率的纵向像素值得到纵向比例系数。
所述系数判断子单元610a3,用于判断所述横向比例系数与所述纵向比例系数是否相同。
所述第一执行子单元610a4,用于若判断结果为所述横向比例系数与所述纵向比例系数相同,则将所述横向比例系数或者所述纵向比例系数作为所述预定比例系数。
所述第二执行子单元610a5,用于若判断结果为所述横向比例系数与所述纵向比例系数不同,将所述横向比例系数与所述纵向比例系数之间的较小值作为所述预定比例系数。
所述像素对应单元610b,用于将各个所述自定义像素大小乘以所述预定比例系数得到对应的所述实际像素大小。
所述布局生成单元610c,用于根据所述自定义像素大小与所述实际像素大小之间的布局对应关系生成所述布局配置文件。
文字生成模块620,用于对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
在第一种可能的实现方式中,所述文字生成模块620,包括:文字计算单元620a和文字生成单元620b。
所述文字计算单元620a,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;或者,将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小。
所述文字生成单元620b,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
在第二种可能的实现方式中,所述文字生成模块620,包括:文字缩放单元620c、文字检测单元620d、再次缩放单元620e和文件生成单元620f。
所述文字缩放单元620c,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小。
所述文字检测单元620d,用于检测所述实际文字大小是否小于最小可视文字大小。
所述再次缩放单元620e,用于若检测结果为小于所述最小可视文字大小,则将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小。
所述文件生成单元620f,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
安装生成模块630,用于生成应用程序的安装包,所述安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
综上所述,本实施例提供的配置文件生成装置,对于待适配的每种显示分辨率,通过根据显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于显示分辨率的布局配置文件;对于待适配的每种布局大小,通过获取与布局大小相对应的梯度缩放因子,根据梯度缩放因子生成对应于布局大小的文字配置文件;解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了通过在应用程序的安装包中添加生成的若干个布局配置文件和文字配置文件,使得应用程序的显示界面能够在不同屏幕中自适应显示;同时,该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
另外,通过预先选取的若干个待适配的显示分辨率和若干个待适配的布局大小,使得生成的配置文件涵盖了诸如手机和平板电脑在内的绝大多数便携式电子设备,充分保证了在后续进行自适应显示的过程中对配置文件的可选择性。另外,还可以通过添加更多的配置文件使得应用程序所能够适配的电子设备的范围更广,数量更多。本实施例提供的配置文件生成装置,还通过设置最小可视文字大小,保证了在后续完成自适应显示后显示界面中的文字为用户可见。
请参考图8,其示出了本发明一个实施例提供的自适应显示装置的结构方框图,该自适应显示装置用于电子设备中。该自适应显示装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该自适应显示装置包括:属性获取模块810、布局选择模块820、布局确定模块830、文字选择模块840、文字确定模块850和界面显示模块860。
属性获取模块810,用于获取当前设备的显示分辨率和布局大小。
布局选择模块820,用于在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件。
布局确定模块830,用于根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小。
文字选择模块840,用于在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件。
文字确定模块850,用于根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小。
界面显示模块860,用于根据所述实际像素大小和所述实际文字大小显示所述显示界面。
综上所述,本实施例提供的自适应显示装置,通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
请参考图9,其示出了本发明另一实施例提供的自适应显示装置的结构方框图,该自适应显示装置用于电子设备中。该自适应显示装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部,该自适应显示装置包括:安装读取模块802、属性获取模块810、布局选择模块820、布局确定模块830、文字选择模块840、文字确定模块850和界面显示模块860。
安装读取模块802,用于读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
属性获取模块810,用于获取当前设备的显示分辨率和布局大小。
布局选择模块820,用于在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件。
其中,所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将所述非文字类布局元素在不同显示分辨率下进行等比缩放而设置的。
具体来讲,所述布局选择模块820,包括:布局判断单元820a、第一选择单元820b和第二选择单元820c。
所述布局判断单元820a,用于判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第一选择单元820b,用于若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第二选择单元820c,用于若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
布局确定模块830,用于根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小。
具体来讲,所述布局确定模块830,包括:像素获取单元830a、像素查找单元830b和像素确定单元830c。
所述像素获取单元830a,用于获取所述显示界面中的每个非文字类布局元素的自定义像素大小。
所述像素查找单元830b,用于对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小。
所述像素确定单元830c,用于将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小。
所述布局确定模块830,还包括:像素检测单元830d和像素替换单元830e。
所述像素检测单元830d,用于当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小。
所述像素替换单元830e,用于若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
文字选择模块840,用于在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件。
其中,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的。
具体来讲,所述文字选择模块840,包括:文字判断单元840a、第一选取单元840b和第二选取单元840c。
所述文字判断单元840a,用于判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件。
所述第一选取单元840b,用于若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件。
所述第二选取单元840c,用于若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
文字确定模块850,用于根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小。
具体来讲,所述文字确定模块850,包括:文字获取单元850a、文字查找单元850b和文字确定单元850c。
所述文字获取单元850a,用于获取所述显示界面中的每个文字类布局元素的自定义文字大小。
所述文字查找单元850b,用于对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小。
所述文字确定单元850c,用于将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
界面显示模块860,用于根据所述实际像素大小和所述实际文字大小显示所述显示界面。
综上所述,本实施例提供的自适应显示装置,通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
另外,在非文字类布局元素为可操控布局元素时,通过检测查找到的实际像素大小与预设可操控像素大小之间的大小关系,在当检测结果为查找到的实际像素大小小于预设可操控像素大小时,将预设可操控像素大小作为可操控布局元素的实际像素大小,保证了诸如按钮、开关以及滑块等可操控布局元素为用户可操作,避免了因这些布局元素过小而导致误操作甚至无法操作。
需要说明的是:上述实施例提供的配置文件生成装置在生成配置文件时以及自适应显示装置在进行自适应显示时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置文件生成装置与配置文件生成方法的方法实施例属于同一构思,上述实施例提供的自适应显示装置与自适应显示方法的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。