CN103744595B - 自适应显示方法和装置 - Google Patents

自适应显示方法和装置 Download PDF

Info

Publication number
CN103744595B
CN103744595B CN201310743794.6A CN201310743794A CN103744595B CN 103744595 B CN103744595 B CN 103744595B CN 201310743794 A CN201310743794 A CN 201310743794A CN 103744595 B CN103744595 B CN 103744595B
Authority
CN
China
Prior art keywords
layout
word
size
configuration file
actual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310743794.6A
Other languages
English (en)
Other versions
CN103744595A (zh
Inventor
柳杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Cubesili Information Technology Co Ltd
Original Assignee
Guangzhou Huaduo Network Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Huaduo Network Technology Co Ltd filed Critical Guangzhou Huaduo Network Technology Co Ltd
Priority to CN201310743794.6A priority Critical patent/CN103744595B/zh
Publication of CN103744595A publication Critical patent/CN103744595A/zh
Application granted granted Critical
Publication of CN103744595B publication Critical patent/CN103744595B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Controls And Circuits For Display Device (AREA)
  • Control Of Indicators Other Than Cathode Ray Tubes (AREA)

Abstract

本发明公开了一种自适应显示方法、配置文件生成方法和装置,属于显示技术领域。所述自适应显示方法包括:获取当前设备的显示分辨率和布局大小;选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的显示分辨率和布局大小动态选取配置文件,实现对各个布局元素的自适应显示,避免了给应用程序的开发成本带来压力。

Description

自适应显示方法和装置
技术领域
本发明涉及显示技术领域,特别涉及一种自适应显示方法和装置。
背景技术
诸如手机、平板电脑以及智能电视之类的电子设备,不同种类的电子设备的屏幕尺寸和显示分辨率基本不同。以平板电脑的屏幕尺寸为例,市场上的平板电脑的屏幕尺寸包括有6英寸、7英寸、8英寸、10英寸以及12英寸等等。进一步地,即使是相同屏幕尺寸的平板电脑的显示分辨率也可能不同。对于一款应用程序来说,适配如此多样化的屏幕一直是一个难题。
为了解决上述问题,研发人员通常将显示界面模块化,然后通过代码实现将不同数量的模块加载于不同的屏幕中。假设仅考虑屏幕尺寸的差异,研发人员以10英寸的屏幕尺寸为标准屏幕尺寸开发了一款应用程序。为了使得该应用程序同时适配6英寸的屏幕尺寸,研发人员将标准屏幕尺寸下的显示界面分为两个模块。在屏幕尺寸为10英寸的电子设备中,整个显示界面同时显示两个模块;而在屏幕尺寸为6英寸的电子设备中,整个显示界面显示一个模块,然后通过分页的方式显示另一个模块。当然,也有不少应用程序为了适配不同的屏幕,不得不为特定屏幕定制特定版本。比如,一款应用程序分为10英寸屏幕下和6英寸屏幕下两个不同的版本。
在实现本发明的过程中,发明人发现上述技术至少存在以下问题:由于一款应用程序往往需要同时适配手机、平板电脑或者智能电视等多种电子设备,且这些电子设备的屏幕又各有差异;因此不论是通过代码实现将显示界面模块化后加载的方式,还是通过定制多种版本的方式,都会大幅增加应用程序的代码编译和维护方面的压力。
发明内容
为了解决背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题,本发明实施例提供了一种自适应显示方法、配置文件生成方法和装置。所述技术方案如下:
第一方面,提供了一种自适应显示方法,所述方法包括:
获取当前设备的显示分辨率和布局大小;
在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;
根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
根据所述实际像素大小和所述实际文字大小显示所述显示界面。
在第一方面的第一种可能的实施方式中,所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将所述非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
所述根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小,包括:
获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小。
结合第一方面的第一种可能的实施方式,在第一方面的第二种可能的实施方式中,所述根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小之后,还包括:
当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
结合第一方面、第一方面的第一种可能的实施方式或者第一方面的第二种可能的实施方式,在第一方面的第三种可能的实施方式中,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件,包括:
判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
结合第一方面,在第一方面的第四种可能的实施方式中,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小,包括:
获取所述显示界面中的每个文字类布局元素的自定义文字大小;
对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
结合第一方面、第一方面的第一种可能的实施方式、第一方面的第二种可能的实施方式、第一方面的第三种可能的实施方式或者第一方面的第四种可能的实施方式,在第一方面的第五种可能的实施方式中,所述在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件,包括:
判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
结合第一方面,在第一方面的第六种可能的实施方式中,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件之前,还包括:
读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第二方面,提供了一种配置文件生成方法,所述方法包括:
对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件;
对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
在第二方面的第一种可能的实施方式中,所述对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件,包括:
根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数;
将各个所述自定义像素大小乘以所述预定比例系数得到对应的所述实际像素大小;
根据所述自定义像素大小与所述实际像素大小之间的布局对应关系生成所述布局配置文件。
结合第二方面的第一种可能的实施方式,在第二方面的第二种可能的实施方式中,所述根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数,包括:
将所述显示分辨率的横向像素值除以所述标准显示分辨率的横向像素值得到横向比例系数;
将所述显示分辨率的纵向像素值除以所述标准显示分辨率的纵向像素值得到纵向比例系数;
判断所述横向比例系数与所述纵向比例系数是否相同;
若判断结果为所述横向比例系数与所述纵向比例系数相同,则将所述横向比例系数或者所述纵向比例系数作为所述预定比例系数;
若判断结果为所述横向比例系数与所述纵向比例系数不同,将所述横向比例系数与所述纵向比例系数之间的较小值作为所述预定比例系数。
结合第二方面、第二方面的第一种可能的实施方式或者第二方面的第二种可能的实施方式,在第二方面的第三种可能的实施方式中,所述方法还包括:
记录在所述标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小;
将每个非文字类布局元素的实际像素大小转换为所述非文字类布局元素的自定义像素大小。
结合第二方面,在第二方面的第四种可能的实施方式中,所述根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件,包括:
将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;或者,将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第二方面,在第二方面的第五种可能的实施方式中,所述根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件,包括:
将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;
检测所述实际文字大小是否小于最小可视文字大小;
若检测结果为小于所述最小可视文字大小,则将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第二方面、第二方面的第四种可能的实施方式或者第二方面的第五种可能的实施方式,在第二方面的第六种可能的实施方式中,所述方法还包括:
记录在所述标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小;
将每个文字类布局元素的实际文字大小转换为所述文字类布局元素的自定义文字大小。
结合第二方面,在第二方面的第七种可能的实施方式中,所述方法还包括:
生成应用程序的安装包,所述安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第三方面,提供了一种自适应显示装置,所述装置包括:
属性获取模块,用于获取当前设备的显示分辨率和布局大小;
布局选择模块,用于在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;
布局确定模块,用于根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
文字选择模块,用于在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
文字确定模块,用于根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
界面显示模块,用于根据所述实际像素大小和所述实际文字大小显示所述显示界面。
在第三方面的第一种可能的实施方式中,所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将所述非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
所述布局确定模块,包括:像素获取单元、像素查找单元和像素确定单元;
所述像素获取单元,用于获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
所述像素查找单元,用于对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
所述像素确定单元,用于将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小。
结合第三方面的第一种可能的实施方式,在第三方面的第二种可能的实施方式中,所述布局确定模块,还包括:像素检测单元和像素替换单元;
所述像素检测单元,用于当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
所述像素替换单元,用于若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
结合第三方面、第三方面的第一种可能的实施方式或者第三方面的第二种可能的实施方式,在第三方面的第三种可能的实施方式中,所述布局选择模块,包括:布局判断单元、第一选择单元和第二选择单元;
所述布局判断单元,用于判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第一选择单元,用于若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第二选择单元,用于若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
结合第三方面,在第三方面的第四种可能的实施方式中,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述文字确定模块,包括:文字获取单元、文字查找单元和文字确定单元;
所述文字获取单元,用于获取所述显示界面中的每个文字类布局元素的自定义文字大小;
所述文字查找单元,用于对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
所述文字确定单元,用于将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
结合第三方面、第三方面的第一种可能的实施方式、第三方面的第二种可能的实施方式、第三方面的第三种可能的实施方式或者第三方面的第四种可能的实施方式,在第三方面的第五种可能的实施方式中,所述文字选择模块,包括:文字判断单元、第一选取单元和第二选取单元;
所述文字判断单元,用于判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第一选取单元,用于若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第二选取单元,用于若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
结合第三方面,在第三方面的第六种可能的实施方式中,所述装置还包括:
安装读取模块,用于读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
第四方面,提供了一种配置文件生成装置,所述装置包括:
布局生成模块,用于对于待适配的每种显示分辨率,根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系生成对应于所述显示分辨率的布局配置文件;
文字生成模块,用于对于待适配的每种布局大小,获取与所述布局大小相对应的梯度缩放因子,根据所述梯度缩放因子生成对应于所述布局大小的文字配置文件;其中,所述梯度缩放因子为根据所述布局大小与所述标准设备的标准布局大小之间的相对大小关系而预先设定的。
在第四方面的第一种可能的实施方式中,所述布局生成模块,包括:系数确定单元、像素对应单元和布局生成单元;
所述系数确定单元,用于根据所述显示分辨率与标准设备的标准显示分辨率之间的比例关系确定预定比例系数;
所述像素对应单元,用于将各个所述自定义像素大小乘以所述预定比例系数得到对应的所述实际像素大小;
所述布局生成单元,用于根据所述自定义像素大小与所述实际像素大小之间的布局对应关系生成所述布局配置文件。
结合第四方面的第一种可能的实施方式,在第四方面的第二种可能的实施方式中,所述系数确定单元,包括:横向计算子单元、纵向计算子单元、系数判断子单元、第一执行子单元和第二执行子单元;
所述横向计算子单元,用于将所述显示分辨率的横向像素值除以所述标准显示分辨率的横向像素值得到横向比例系数;
所述纵向计算子单元,用于将所述显示分辨率的纵向像素值除以所述标准显示分辨率的纵向像素值得到纵向比例系数;
所述系数判断子单元,用于判断所述横向比例系数与所述纵向比例系数是否相同;
所述第一执行子单元,用于若判断结果为所述横向比例系数与所述纵向比例系数相同,则将所述横向比例系数或者所述纵向比例系数作为所述预定比例系数;
所述第二执行子单元,用于若判断结果为所述横向比例系数与所述纵向比例系数不同,将所述横向比例系数与所述纵向比例系数之间的较小值作为所述预定比例系数。
结合第四方面、第四方面的第一种可能的实施方式或者第四方面的第二种可能的实施方式,在第四方面的第三种可能的实施方式中,所述装置还包括:
像素记录模块,用于记录在所述标准设备下开发的应用程序的显示界面中的每个非文字类布局元素的实际像素大小;
像素转换模块,用于将每个非文字类布局元素的实际像素大小转换为所述非文字类布局元素的自定义像素大小。
结合第四方面,在第四方面的第四种可能的实施方式中,所述文字生成模块,包括:文字计算单元和文字生成单元;
所述文字计算单元,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;或者,将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
所述文字生成单元,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第四方面,在第四方面的第五种可能的实施方式中,所述文字生成模块,包括:文字缩放单元、文字检测单元、再次缩放单元和文件生成单元;
所述文字缩放单元,用于将各个所述自定义文字大小乘以所述梯度缩放因子得到对应的所述实际文字大小;
所述文字检测单元,用于检测所述实际文字大小是否小于最小可视文字大小;
所述再次缩放单元,用于若检测结果为小于所述最小可视文字大小,则将各个所述自定义文字大小与最小可视文字大小之差乘以所述梯度缩放因子,然后再加上所述最小可视文字大小得到对应的所述实际文字大小;
所述文件生成单元,用于根据所述自定义文字大小与所述实际文字大小之间的文字对应关系生成所述文字配置文件。
结合第四方面、第四方面的第四种可能的实施方式或者第四方面的第五种可能的实施方式,在第四方面的第六种可能的实施方式中,所述装置还包括:
文字记录模块,用于记录在所述标准设备下开发的应用程序的显示界面中的每个文字类布局元素的实际文字大小;
文字转换模块,用于将每个文字类布局元素的实际文字大小转换为所述文字类布局元素的自定义文字大小。
结合第四方面,在第四方面的第七种可能的实施方式中,所述装置还包括:
安装生成模块,用于生成应用程序的安装包,所述安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
本发明实施例提供的技术方案带来的有益效果是:
通过获取当前设备的显示分辨率和布局大小;在至少一个布局配置文件中选择与显示分辨率对应的布局配置文件;根据布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;在至少一个文字配置文件中选择与布局大小对应的文字配置文件;根据文字配置文件确定显示界面中的文字类布局元素的实际文字大小;根据实际像素大小和实际文字大小显示显示界面。本发明解决了背景技术中为了适配多种屏幕,而大幅增加应用程序的代码编译和维护方面的压力的问题;达到了根据适配设备的屏幕的显示分辨率和布局大小动态选取配置文件,实现对显示界面中各个布局元素的自适应显示,只需在应用程序的安装包中添加若干个布局配置文件和文字配置文件,且该配置文件内容简单,无需采用大量代码进行编译和维护,避免了给应用程序的开发成本带来压力。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是两台横屏模式下的手机的示意图;
图2是本发明一个实施例提供的配置文件生成方法的方法流程图;
图3A是本发明另一实施例提供的配置文件生成方法的方法流程图;
图3B是一个在标准设备下开发的应用程序的显示界面的示意图;
图3C是本发明另一实施例提供的配置文件生成方法的步骤305所涉及的子步骤的方法流程图;
图4是本发明一个实施例提供的自适应显示方法的方法流程图;
图5A是本发明另一实施例提供的自适应显示方法的方法流程图;
图5B是本发明另一实施例提供的自适应显示方法的步骤504所涉及的子步骤的方法流程图;
图5C是通过现有的和本发明提供的自适应显示方法对显示内容进行缩放后得到的比对性的示意图;
图6是本发明一个实施例提供的配置文件生成装置的结构方框图;
图7是本发明另一实施例提供的配置文件生成装置的结构方框图;
图8是本发明一个实施例提供的自适应显示装置的结构方框图;
图9是本发明另一实施例提供的自适应显示装置的结构方框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
发明人发现,应用程序的显示界面中的布局元素可以分为两类,一类是包括控件和空白区域在内的非文字类布局,另一类是包括文字在内的文字类布局。本发明实施例提供的自适应显示方案,通过在应用程序的安装包中添加配置文件,能够使得应用程序高效而又便捷地在不同屏幕的电子设备中实现自适应显示。其中,配置文件的作用在于将以标准设备为样本开发的应用程序的显示界面中的布局元素根据当前设备的显示参数进行动态缩放。
在对本发明实施例提供的自适应显示方案进行详细介绍和说明之前,首先介绍在本发明各个实施例中需要用到的几个单位。请结合参考图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”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自适应显示方法,其特征在于,所述方法包括:
获取当前设备的显示分辨率和布局大小;
在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
根据所述实际像素大小和所述实际文字大小显示所述显示界面;
其中,所述根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小,包括:
获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小;
当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
2.根据权利要求1所述的方法,其特征在于,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件,包括:
判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
3.根据权利要求1所述的方法,其特征在于,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小,包括:
获取所述显示界面中的每个文字类布局元素的自定义文字大小;
对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
4.根据权利要求1或3所述的方法,其特征在于,所述在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件,包括:
判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
5.根据权利要求1所述的方法,其特征在于,所述在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件之前,还包括:
读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
6.一种自适应显示装置,其特征在于,所述装置包括:
属性获取模块,用于获取当前设备的显示分辨率和布局大小;
布局选择模块,用于在至少一个布局配置文件中选择与所述显示分辨率对应的布局配置文件;所述布局配置文件包括不同自定义像素大小与不同实际像素大小之间的布局对应关系,所述自定义像素大小是用于将非文字类布局元素在不同显示分辨率下进行等比缩放而设置的;
布局确定模块,用于根据所述布局配置文件确定显示界面中的非文字类布局元素的实际像素大小;
文字选择模块,用于在至少一个文字配置文件中选择与所述布局大小对应的文字配置文件;
文字确定模块,用于根据所述文字配置文件确定所述显示界面中的文字类布局元素的实际文字大小;
界面显示模块,用于根据所述实际像素大小和所述实际文字大小显示所述显示界面;
其中,所述布局确定模块,包括:像素获取单元、像素查找单元、像素确定单元、像素检测单元和像素替换单元;
所述像素获取单元,用于获取所述显示界面中的每个非文字类布局元素的自定义像素大小;
所述像素查找单元,用于对于每个非文字类布局元素,根据所述非文字类布局元素的自定义像素大小在所述布局对应关系中查找对应的实际像素大小;
所述像素确定单元,用于将查找到的所述实际像素大小作为所述非文字类布局元素的实际像素大小;
所述像素检测单元,用于当所述非文字类布局元素为可操控布局元素时,检测查找到的所述实际像素大小是否小于预设可操控像素大小;
所述像素替换单元,用于若检测结果为小于所述预设可操控像素大小,则将所述预设可操控像素大小作为所述可操控布局元素的实际像素大小。
7.根据权利要求6所述的装置,其特征在于,所述布局选择模块,包括:布局判断单元、第一选择单元和第二选择单元;
所述布局判断单元,用于判断所述至少一个布局配置文件中是否存在与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第一选择单元,用于若判断结果为存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择所述与所述当前设备的显示分辨率直接对应的所述布局配置文件;
所述第二选择单元,用于若判断结果为不存在所述与所述当前设备的显示分辨率直接对应的所述布局配置文件,则选择比所述当前设备的显示分辨率小但最接近于所述当前设备的显示分辨率所对应的所述布局配置文件。
8.根据权利要求6所述的装置,其特征在于,所述文字配置文件包括不同自定义文字大小与不同实际文字大小之间的文字对应关系,所述自定义文字大小是用于将所述文字类布局元素在不同布局大小下进行梯度缩放而设置的;
所述文字确定模块,包括:文字获取单元、文字查找单元和文字确定单元;
所述文字获取单元,用于获取所述显示界面中的每个文字类布局元素的自定义文字大小;
所述文字查找单元,用于对于每个文字类布局元素,根据所述文字类布局元素的自定义文字大小在所述文字对应关系中查找对应的实际文字大小;
所述文字确定单元,用于将查找到的所述实际文字大小作为所述文字类布局元素的实际文字大小。
9.根据权利要求6或8所述的装置,其特征在于,所述文字选择模块,包括:文字判断单元、第一选取单元和第二选取单元;
所述文字判断单元,用于判断所述至少一个文字配置文件中是否存在与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第一选取单元,用于若判断结果为存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择所述与所述当前设备的布局大小直接对应的所述文字配置文件;
所述第二选取单元,用于若判断结果为不存在所述与所述当前设备的布局大小直接对应的所述文字配置文件,则选择比所述当前设备的布局大小小但最接近于所述当前设备的布局大小所对应的所述文字配置文件。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括:
安装读取模块,用于读取应用程序的安装包,所述应用程序的安装包包括至少一个所述布局配置文件和至少一个所述文字配置文件。
CN201310743794.6A 2013-12-30 2013-12-30 自适应显示方法和装置 Active CN103744595B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310743794.6A CN103744595B (zh) 2013-12-30 2013-12-30 自适应显示方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310743794.6A CN103744595B (zh) 2013-12-30 2013-12-30 自适应显示方法和装置

Publications (2)

Publication Number Publication Date
CN103744595A CN103744595A (zh) 2014-04-23
CN103744595B true CN103744595B (zh) 2017-03-22

Family

ID=50501616

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310743794.6A Active CN103744595B (zh) 2013-12-30 2013-12-30 自适应显示方法和装置

Country Status (1)

Country Link
CN (1) CN103744595B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967162A (zh) * 2017-11-22 2018-04-27 深圳市富途网络科技有限公司 一种基于Windows***的应用程序高清晰显示方法

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105021181B (zh) * 2014-04-28 2018-03-30 高德信息技术有限公司 一种电子地图绘制区域确定方法、装置及导航设备
CN103970894B (zh) * 2014-05-27 2017-04-05 合一网络技术(北京)有限公司 自适应调整的界面流式布局显示的方法和***
CN104503655B (zh) 2014-11-28 2017-12-08 晨星半导体股份有限公司 应用程序界面显示控制方法及装置
CN105718454A (zh) * 2014-12-02 2016-06-29 深圳富泰宏精密工业有限公司 页面文字调整方法及***
CN105653254B (zh) * 2014-12-03 2019-07-09 科大讯飞股份有限公司 原生界面适配方法、装置及应用其的电子设备
CN105740004A (zh) * 2014-12-12 2016-07-06 上海科泰世纪科技有限公司 应用程序安装方法和***
CN105740005A (zh) * 2014-12-12 2016-07-06 上海科泰世纪科技有限公司 应用程序拼装方法和***
CN104598107A (zh) * 2014-12-31 2015-05-06 乐视网信息技术(北京)股份有限公司 界面控件的生成方法及***
CN105094891B (zh) * 2015-06-30 2018-11-06 小米科技有限责任公司 效果显示方法及装置
CN105068811A (zh) * 2015-08-18 2015-11-18 深圳市德力控制电子有限公司 屏幕自动配置方法
CN105892960A (zh) * 2015-10-27 2016-08-24 乐视移动智能信息技术(北京)有限公司 移动终端屏幕显示的缩放方法及装置
CN105988820A (zh) * 2015-12-11 2016-10-05 乐视移动智能信息技术(北京)有限公司 自适应调整空白页的方法及装置
CN105843601B (zh) * 2016-03-11 2019-03-22 四川长虹电器股份有限公司 基于安卓***的屏幕自适应适配方法
CN106257409A (zh) * 2016-07-14 2016-12-28 北京元心科技有限公司 图像绘制的适配方法及适配装置
CN106791915B (zh) * 2016-11-24 2020-02-11 广州华多网络科技有限公司 一种显示视频图像的方法和装置
CN108205398B (zh) * 2016-12-16 2021-06-11 腾讯科技(深圳)有限公司 网页动画适配屏幕的方法和装置
CN106648700A (zh) * 2016-12-29 2017-05-10 深圳Tcl数字技术有限公司 兼容不同分辨率的显示方法和装置
CN106878798A (zh) * 2017-01-18 2017-06-20 环球智达科技(北京)有限公司 一种智能电视的动态配置界面的方案
CN106873991B (zh) * 2017-01-20 2019-01-11 腾讯科技(深圳)有限公司 页面生成方法和装置
CN106933590B (zh) * 2017-03-13 2020-10-23 国家电网公司 一种电网项目移动端机型适配实现方法及其***
CN107256115A (zh) * 2017-06-01 2017-10-17 上海雪鲤鱼计算机科技有限公司 Android***下实现等比例布局的方法及***
CN107247543A (zh) * 2017-06-16 2017-10-13 山东浪潮通软信息科技有限公司 一种控件布局方法及装置
CN109710122B (zh) * 2017-10-26 2021-05-25 北京京东尚科信息技术有限公司 用于展示信息的方法和装置
CN108427596B (zh) * 2018-03-15 2021-07-02 上海哔哩哔哩科技有限公司 移动终端应用界面视图分辨率匹配方法、装置及存储介质
CN110764850B (zh) * 2018-07-26 2023-06-20 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、***及设备
CN109542568A (zh) * 2018-11-23 2019-03-29 苏州思必驰信息科技有限公司 用于Android***设备的屏幕适配方法及***
CN111435589B (zh) * 2019-06-21 2022-07-01 杭州海康威视数字技术股份有限公司 一种目标显示的方法、装置及目标显示***
CN110554816B (zh) 2019-07-25 2024-05-07 华为技术有限公司 一种界面生成方法及设备
CN110908766A (zh) * 2019-12-04 2020-03-24 天津大海云科技有限公司 一种大屏定制化动态配置展示内容的方法
CN113051010B (zh) * 2019-12-28 2023-04-28 Oppo(重庆)智能科技有限公司 一种穿戴设备中应用画面调整方法及相关装置
CN112799563A (zh) * 2021-02-10 2021-05-14 联想(北京)有限公司 一种信息处理方法、***及存储介质
CN113253959B (zh) * 2021-05-26 2023-04-07 济南浪潮智投智能科技有限公司 一种适配不同大屏分辨率的前端投屏方法
CN117008752A (zh) * 2022-04-28 2023-11-07 华为技术有限公司 一种显示方法、装置及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102298495A (zh) * 2011-06-27 2011-12-28 上海北大方正科技电脑***有限公司 一种android软件自适应不同屏幕密度的方法
CN102457528A (zh) * 2010-10-19 2012-05-16 北京邮电大学 面向手机终端的自适应发布Web内容的方法与***
CN102662616A (zh) * 2012-03-28 2012-09-12 北京邮电大学 用于移动终端的屏幕图形自适应方法及***
CN103336691A (zh) * 2013-06-29 2013-10-02 安科智慧城市技术(中国)有限公司 一种基于Android的动态布局方法及***
CN103425633A (zh) * 2012-05-16 2013-12-04 腾讯科技(深圳)有限公司 一种调节网页页面的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102457528A (zh) * 2010-10-19 2012-05-16 北京邮电大学 面向手机终端的自适应发布Web内容的方法与***
CN102298495A (zh) * 2011-06-27 2011-12-28 上海北大方正科技电脑***有限公司 一种android软件自适应不同屏幕密度的方法
CN102662616A (zh) * 2012-03-28 2012-09-12 北京邮电大学 用于移动终端的屏幕图形自适应方法及***
CN103425633A (zh) * 2012-05-16 2013-12-04 腾讯科技(深圳)有限公司 一种调节网页页面的方法及装置
CN103336691A (zh) * 2013-06-29 2013-10-02 安科智慧城市技术(中国)有限公司 一种基于Android的动态布局方法及***

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107967162A (zh) * 2017-11-22 2018-04-27 深圳市富途网络科技有限公司 一种基于Windows***的应用程序高清晰显示方法

Also Published As

Publication number Publication date
CN103744595A (zh) 2014-04-23

Similar Documents

Publication Publication Date Title
CN103744595B (zh) 自适应显示方法和装置
CN104123078B (zh) 输入信息的方法和设备
US20120102425A1 (en) Electronic apparatus and page flipping method therefor
CN102486789B (zh) 电子设备、网页书签图像生成方法及网页书签生成方法
CN107015751A (zh) 文档中的对象和文本的最佳显示和缩放
CN104991696B (zh) 一种信息处理方法及电子设备
CN104571918A (zh) 终端单手操作界面触发方法和装置
CN105653190B (zh) 移动通讯终端及其单手操作模式控制方法和装置
CN102866856B (zh) 手写输入笔迹的处理方法及装置
CN103869960A (zh) 触感反馈***及其提供触感反馈的方法
CN102549532A (zh) 使用触摸面板的电子装置和其设置值修改方法
CN105867813A (zh) 一种页面切换的方法和终端
US20140143717A1 (en) Electronic device and page zooming method thereof
CN106126108A (zh) 一种缩略图的生成方法及移动终端
CN106445347A (zh) 一种界面显示方法及装置
CN104915131B (zh) 一种电子文档翻页方法及装置
CN106527915A (zh) 一种信息处理方法及电子设备
CN102411472A (zh) 一种移动通信设备及其快速调出若干图标并运行图标所对应的程序的方法
CN105892907A (zh) 一种滚动截屏的使用方法和终端
CN105843523B (zh) 信息处理的方法和装置
CN105630285B (zh) 应用启动方法、装置和移动终端
CN106775416A (zh) 一种终端的控制方法及终端
CN105867808A (zh) 一种终端的控制方法及终端
US20070006086A1 (en) Method of browsing application views, electronic device, graphical user interface and computer program product
CN105892801A (zh) 一种桌面图标的处理方法和终端

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 511446 Guangzhou City, Guangdong Province, Panyu District, South Village, Huambo Business District Wanda Plaza, block B1, floor 28

Applicant after: Guangzhou Huaduo Network Technology Co., Ltd.

Address before: 510655, Guangzhou, Whampoa Avenue, No. 2, creative industrial park, building 3-08,

Applicant before: Guangzhou Huaduo Network Technology Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20210111

Address after: 511442 3108, 79 Wanbo 2nd Road, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee after: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Address before: 511446 28th floor, block B1, Wanda Plaza, Wanbo business district, Nancun Town, Panyu District, Guangzhou City, Guangdong Province

Patentee before: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

EE01 Entry into force of recordation of patent licensing contract
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20140423

Assignee: GUANGZHOU HUADUO NETWORK TECHNOLOGY Co.,Ltd.

Assignor: GUANGZHOU CUBESILI INFORMATION TECHNOLOGY Co.,Ltd.

Contract record no.: X2021440000053

Denomination of invention: Adaptive display method and device

Granted publication date: 20170322

License type: Common License

Record date: 20210208