CN106406794A - 一种屏幕适配方法及其装置 - Google Patents

一种屏幕适配方法及其装置 Download PDF

Info

Publication number
CN106406794A
CN106406794A CN201610827203.7A CN201610827203A CN106406794A CN 106406794 A CN106406794 A CN 106406794A CN 201610827203 A CN201610827203 A CN 201610827203A CN 106406794 A CN106406794 A CN 106406794A
Authority
CN
China
Prior art keywords
screen
display element
size
current screen
parameter
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.)
Pending
Application number
CN201610827203.7A
Other languages
English (en)
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.)
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing Co Ltd
Original Assignee
LeTV Holding Beijing Co Ltd
LeTV Information Technology Beijing 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 LeTV Holding Beijing Co Ltd, LeTV Information Technology Beijing Co Ltd filed Critical LeTV Holding Beijing Co Ltd
Priority to CN201610827203.7A priority Critical patent/CN106406794A/zh
Publication of CN106406794A publication Critical patent/CN106406794A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1415Digital output to display device ; Cooperation and interconnection of the display device with other functional units with means for detecting differences between the image stored in the host and the images displayed on the displays

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)

Abstract

本发明实施例公开了一种屏幕适配方法及其适配装置。其中,该屏幕适配方法包括:根据基准屏幕参数生成显示元件的原始尺寸;计算当前屏幕参数与基准屏幕参数之间的第一比例;以及根据所述第一比例将所述显示元件的原始尺寸缩放为与当前屏幕适配的适配尺寸。通过基于基准屏幕设置的原始尺寸,采用等比例缩放的方式,实现显示元件的对于不同尺寸屏幕的适配。其不依赖于像素密度的计算,能够根据屏幕尺寸自调节显示元件在屏幕上的展示大小,不需要预先设置参数文件,避免了未知适配的问题。

Description

一种屏幕适配方法及其装置
技术领域
本发明涉及图像处理技术领域,特别是涉及一种屏幕适配方法及其装置。
背景技术
随着电子技术的不断发展,各种类型的智能终端越来越多。不同的智能终端之间的显示屏幕硬件参数,例如尺寸、分辨率等各不相同,如何保持显示界面在各种不同的屏幕中维持相同的显示效果,保证屏幕的适配性是一个非常重要的问题。
为了保持屏幕显示效果的一致性,安卓系统采用了一种称为独立像素密度(Density-independent pixel DIP)的方法来实现屏幕适配。在设置屏幕显示界面的时候,以独立像素密度为单位。这样,当屏幕像素密度越大时,一个独立像素密度对应的像素点也越多,从而实现显示界面的适配;当设备的物理尺寸存在差异的时候,根据不同的屏幕尺寸定义的不同的参数,并放置于相应的文件夹中根据不同的屏幕尺寸定义的不同的参数,并放置于相应的文件夹中。
在实现本发明过程中,发明人发现相关技术存在以下问题:安卓官方提供的解决方法存在着未知适配的情况,无法预测将来可能出现的具有新的显示屏幕参数的设备,如当出现了应用的已发行版本没有包括的运行设备时,这样应用的已发行版本将无法在这样的运行设备上完成适配,只能重新添加发行新的应用版本来实现屏幕适配。而且这样的解决方法需要预先保留大量的适配专用文件夹,不利于维护。
发明内容
本发明实施例主要解决的技术问题是提供一种屏幕适配方法及其装置,能够解决现有技术中采用独立像素密度的方式适配屏幕时,需要预先设置参数文件,存在未知适配情况的问题。
为解决上述技术问题,本发明的一些实施例提供一种屏幕适配方法。该方法包括:根据基准屏幕参数生成显示元件的原始尺寸;计算当前屏幕参数与所述基准屏幕参数之间的第一比例;根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸。
可选地,所述根据所述第一比例将所述显示元件的原始尺寸缩放为与当前屏幕适配的适配尺寸,具体包括:获取当前屏幕参数和当前显示界面对应的显示元件树形结构;根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸;根据所述适配尺寸,遍历所述显示元件树形结构对所述显示元件进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
可选地,获得与所述适配尺寸对应的缩放函数;遍历所述显示元件树形结构,根据所述缩放函数依次对所述显示元件进行缩放;
所述在所述当前屏幕上输出与所述当前屏幕适配的显示界面,具体包括:获取输出函数,对缩放后的所述显示元件进行渲染及定位,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
可选地,计算所述显示元件的设计尺寸参数与所述基准屏幕参数之间的第二比例;根据所述第二比例缩放显示元件的设计尺寸生成所述显示元件的原始尺寸。
可选地,所述显示元件包括文本元件和图形元件;所述根据所述第一比例缩放显示元件以适配所述当前屏幕,具体包括:根据所述第一比例分别缩放所述文本元件和所述图形元件以适配所述当前屏幕。
为解决上述技术问题,本发明的一些实施例提供一种屏幕适配装置,该装置包括:原始尺寸生成模块,用于根据基准屏幕参数生成显示元件的原始尺寸;第一计算模块,用于计算当前屏幕参数与所述基准屏幕参数之间的第一比例;以及缩放模块,用于根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸。
可选地,所述缩放模块包括:获取单元,用于获取当前屏幕参数和当前显示界面对应的显示元件树形结构;适配尺寸计算单元,用于根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸;缩放单元,用于根据所述适配尺寸,遍历所述显示元件树形结构对显示元件进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
可选地,所述缩放单元具体用于:获得与所述适配尺寸对应的缩放函数;遍历所述显示元件树形结构,根据所述缩放函数依次对显示元件进行缩放以及获取输出函数,对缩放后的所述显示元件进行渲染及定位,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
可选地,所述原始尺寸生成模块具体用于;计算所述显示元件的设计尺寸参数与所述基准屏幕参数之间的第二比例;以及根据所述第二比例缩放显示元件的设计尺寸生成所述显示元件的原始尺寸。
可选地,所述显示元件包括文本元件和图形元件;所述缩放模块具体用于,根据所述第一比例分别缩放所述文本元件和图形元件以适配所述当前屏幕。
本发明实施例中,通过基于基准屏幕设置的原始尺寸,采用等比例缩放的方式,实现显示元件的对于不同尺寸屏幕的适配。这样的屏幕适配方式,不依赖于像素密度的计算,能够根据屏幕尺寸自调节显示元件在屏幕上的展示大小,实现与平铺或者放大镜适配的类似效果,不需要预先设置参数文件,避免了未知适配的问题。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本发明实施例提供的屏幕适配方法的方法流程图;
图2为本发明另一实施例提供的屏幕适配方法的方法流程图;
图3为本发明又一实施例提供的步骤205的方法流程图;
图4为本发明又一实施例提供的步骤2053的方法流程图;
图5为安卓系统中,View与ViewGroup之间的关系示意图;
图6为本发明实施例提供的屏幕适配装置的装置示意图;
图7为本发明实施例提供的一种电子设备的结构示意图;
图8为本发明另一实施例提供的屏幕适配装置的缩放模块的装置示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
本发明实施例的屏幕适配方法,可以在任何合适类型,具有用户交互装置和运算能力的处理器的用户终端中执行,例如掌上游戏机、台式计算机、智能手机、平板电脑、电子阅读器、智能穿戴设备以及其他用户终端中。
本发明实施例的屏幕适配装置可以作为其中一个软件或者硬件功能单元,独立设置在上述用户终端中,也可以作为整合在处理器中的其中一个功能模块,执行本发明实施例的屏幕适配方法。
现有的独立像素密度(dp)的定义为:px=dp*(dpi/160)。其标准是160dip(每英寸所打印的点数),px为像素。即当设备的dpi为160的时候1px=1dp。以独立像素密度为单位设置时,当屏幕的密度越大,1dp对应的像素点越多,这样保证显示元件能够在不同像素密度的屏幕上保持基本相同的显示效果。
基于上述独立像素密度为标准的适配方法,在屏幕尺寸存在差异但像素密度相似时,显示元件占据屏幕的比例会发生改变,导致无法很好的适应屏幕,出现空白或者无法显示完整的问题,需要为不同尺寸的显示屏幕设置不同的配置文件。
与独立像素密度适配屏幕的方式相比,本发明实施例的屏幕适配方法以等比例缩放为原则,不依赖于像素的密度,而以保持显示元件与显示屏幕之间的比例为标准,从而能够方便的适应不同尺寸的显示设备,保持显示界面的显示效果。
在本发明实施例中,显示元件是指用于构成显示界面或者用户交互界面的元件或元件的组合,例如按键、背景、浮动选框或者各种形状或者具有各种不同颜色的块状区域(block)等。该显示元件作为构成某一特定显示界面的单元(元素),可以通过预定的方式组合、叠加,从而形成特定的显示界面。进一步的,还可以通过不同的层次结构的叠加,构成目标的显示界面(或用户交互界面)。例如,在安卓系统中,显示界面是由基类view和/或容纳view容器的view group自由组合所构成。在安卓系统中,还可以使用根据该基类派生出来的其它一些派生子类(如AnalogClock、ImageView、以及KeyboardView等)。该view(视图)、viewgroup(视图组)、AnalogClock(时钟控件)、ImageView(图片控件)以及KeyboardView均为安卓系统中编程所使用的变量名,为本领域技术人员所熟知。
该显示元件的尺寸(如本发明实施例中的原始尺寸、适配尺寸等)则是指那些能够确定该显示元件的唯一性的,与尺寸相关的参数,例如对于长方形而言,可以通过长和宽两个参数来确定,对于三角形而言,可以通过一侧边长度以及其中两个角的角度来确定。对于同一个显示元件,其参数并不是唯一的,例如,对于长方形而言,还可以通过宽度和宽高比两个参数确定。当然,该显示元件还可以是任意的不规则形状或者是可以分割为多种几何形状的组合形状。
该尺寸参数还可以由各种合适的尺度单位(如独立像素密度、像素点、厘米等)来表示。例如,一个长方形的显示元件,其尺寸可以通过长为10厘米,宽为2厘米来表示,也可以通过长为10dpi,宽为5dpi来表示。一般的,可以根据实际的设备或者操作应用环境,选择使用不同的尺度单位。当然,基于尺寸参数的特点,该尺度单位还可以是简单的二元数据,例如对于方向这一尺寸参数而言,其一般仅有横向或者纵向两种。
图1为本发明实施例提供的一种屏幕适配方法。请参阅图1,该方法包括:
101:根据基准屏幕参数生成显示元件的原始尺寸。
该基准屏幕参数是预先设置的一系列屏幕参数,如分辨率、宽高比或者屏幕方向等等,作为屏幕适配、缩放显示元件的标准。其具体可以根据多种不同的方式确定,例如操作人员的使用习惯、使用率最高的显示屏幕对应的屏幕参数或者显示效果最好的显示屏幕对应的屏幕参数等。
在一般的显示界面(用户交互界面)的作业流程中,首先由设计人员向技术人员提供显示界面的一些设计图。在原始的设计图中,设计人员通常使用的是厘米、英寸等绘画单位来定义界面中的各个图形、颜色要素等。这样的绘画单位对于计算机而言是不可读或者难以阅读的,并不属于机器语言或者程序语言。因此,需要将这些设计图进行转换,转换为与机器语言相对应的尺寸定义。这样的转换过程,由上述步骤101完成。
在进行转换时,既可以在直接构建的与基准屏幕参数相当的虚拟屏幕中进行;也可以单纯的使用数学运算的方法进行尺寸定义的转换。
相对应地,该原始尺寸即为显示元件在基准屏幕条件下的尺寸定义。例如,基准屏幕参数包括:分辨率1920*1080P;宽高比为16:9,屏幕方向为横向。然后,以该基准屏幕参数为基准,将组成给定的显示界面设计图的各个显示元件的尺寸均转换为在当前基准屏幕上的尺寸定义,如某个显示元件的宽度占基准屏幕宽度的1/5。
为陈述简便,在本实施例中以显示元件为单元,对本发明实施例提供的屏幕适配方法进行描述。本领域技术人员清楚的是,对于全部的显示元件执行本发明实施例提供的屏幕适配方法以后,即可实现显示界面的屏幕适配。
103:计算当前屏幕参数与所述基准屏幕参数之间的第一比例。
实际使用过程中,可以通过任何合适的方式,获取到播放设备的当前屏幕参数,例如调取设备固件信息等方法。当然,该屏幕参数可以是播放设备的屏幕参数的全部项目或者是其中的一部分项目,能够反映当前屏幕与基准屏幕之间的比例关系即可。
获取到当前屏幕参数以及基准屏幕参数后,可以分别计算各个项目之间的比例作为第一比例,亦即该第一比例包含有多个参数的比例,如计算当前屏幕的长度与基准屏幕的长度之间的比例,当前屏幕的宽度与基准屏幕的宽度之间的比例。
105:根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸。
在获得所述第一比例后,根据等比例缩放原则,即可获得适配尺寸。适配尺寸是指与当前屏幕相适配的尺寸,显示元件在该适配尺寸下,可以在当前屏幕下保持在原有基准屏幕上的显示效果。
获得适配尺寸后,可以根据具体的应用环境或硬件设备,通过合适的方式将显示元件以适配尺寸呈现在显示屏幕上。
在本发明实施例中,以显示元件作为执行缩放操作的单元,也可以同时执行多个显示元件的缩放操作,从而完成最终的显示界面的缩放操作。
在本发明实施例中,通过预设的基准屏幕,使用等比例缩放的方法完成显示元件的缩放,获得与屏幕适配的尺寸,很好的避免了使用独立像素密度方法造成的无法充分填满屏幕,需要在软件版本中预先加入相应的参数配置信息,存在未知适配的问题。
在当前屏幕与基准屏幕具有相同的宽高比时,该等比例缩放显示元件的方法能够实现类似于放大镜的放大效果,实现良好的屏幕适配效果。仅在当前屏幕与基准屏幕具有不相同的宽高比时,显示元件可能会出现变形(例如原有长方形的显示元件会变形为正方形的显示元件),但由于现有的显示设备的宽高比的类型非常少,尤其是对于电视机或者一些常用的大型显示设备而言,其宽高比均相同或者相近(通常为16:9),因此,这一问题也可以通过增添一些配置文件来很好的解决。
本发明另一实施例提供一种屏幕适配方法,该方法包括:
201:根据基准屏幕参数生成显示元件的原始尺寸。
作为本步骤的一个可选实施方式,参阅图2,根据基准屏幕参数生成显示元件的原始尺寸包括以下步骤:
2011:计算所述显示元件的设计尺寸参数与所述基准屏幕参数之间的第二比例。
该设计尺寸参数由显示界面的设计人员给定,其可以是一些绘图的尺寸标记,各个显示元件之间的关系等等,具体根据设计人员的实际使用习惯,使用工具等所决定。
该设计尺寸无法直接使用,需要根据基准屏幕参数进行一定的转换。该基准屏幕是一块预设的基准屏幕,其根据实际的情况所确定,例如可以是设计人员在设计显示界面时使用的屏幕,或者也可以是具有最佳展示效果的屏幕作为基准屏幕。
如上所述,该基准屏幕用于作为显示元件的显示效果标准,其可以仅提供若干项相关的基准屏幕参数而不需要构建整个完整的基准屏幕,例如可以提供分辨率、宽高比、长度、宽度等其中的一种或者多种参数。
2013:根据所述第二比例缩放显示元件的设计尺寸生成显示元件的原始尺寸。
在确定基准屏幕(或者确定基准屏幕参数)后,即可以根据该第二比例,计算获得显示元件的原始尺寸。当然,在实际的设置过程中,若设计人员在设计时,已经以基准屏幕为标准进行设计并给出对应的比例或原始尺寸,该步骤2011和2013也可以不执行。
203:计算当前屏幕参数与基准屏幕参数之间的第一比例。
可选地,所述显示元件包括文本元件和图形元件。
一般的,在一个完整的显示界面中,通常会包括有文本属性以及图形属性两类的显示元素。在设计或者转换为显示元件的过程中,这两类显示元素通常会被放置在两类不同的显示元件中,即文本元件和图形元件。
205:根据所述第一比例将所述显示元件的原始尺寸缩放为与当前屏幕适配的适配尺寸。
可选地,可根据所述第一比例分别缩放文本元件和图形元件以适配当前屏幕。
在实际的运行过程中,文本元件与图形元件通常存放于不同的类别中。在进行缩放时,分别对文本元件和图形元件执行缩放,获得相应的适配尺寸进行播放。这样可以保证显示界面的文本也能够完成缩放,适配当前屏幕。
作为本步骤的一个可选实施方式,参阅图3,根据基准屏幕参数生成显示元件的原始尺寸包括以下步骤:
2051:获取当前屏幕参数和当前显示界面对应的显示元件树形结构。
在用户交互界面的生成过程中,通常需要首先将设计人员提供的显示界面配置为由各种不同的显示元件组成并给定这些显示元件之间的联系和层次。
该显示元件树形结构是指某一显示界面内显示元件之间的联系。该树形结构以显示元件为节点,可以是一层或者是多层的多叉树或者其它合适的树形结构。通过这样的树形层次结构,可以通过配置的显示元件的方式构建任意具有复杂结构的多个显示界面。
例如,在安卓系统中,这样的显示元件可以为view或者view group。通过view和viewgroup搭建显示在设备上的用户交互界面(UI)。
当前屏幕参数的可以通过读取设备管理器中相关硬件参数获得,或者有相应的,具有对应权限的接口读取。获取的当前屏幕参数可以是当前屏幕的宽度、宽高比、分辨率等等,根据实际应用的需求所确定,增加或者减少。
2052:根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸。
2053:根据所述适配尺寸,遍历所述显示元件树形结构对显示元件进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
可选地,请参阅图4,根据所述适配尺寸,遍历所述显示元件树形结构对显示元件树形结构的节点进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面,具体包括以下步骤:。
303:获得与所述适配尺寸对应的缩放函数。
在获得适配尺寸后,将相对应的适配尺寸数据放置于缩放函数中,由缩放函数完成缩放。该适配尺寸具体可以是以各种不同单位表示的参数,由所述计算函数的输出值所决定。
在本实施例中,该适配尺寸可以是由像素点为单位表示的适配尺寸,可以是由像素点数量表示的显示元件的长度、宽度或者面积。
具体涉及的缩放功能程序代码由实际应用环境所确定,可以在编写应用程序中完成。
该缩放函数是一个预先设置的,用于计算计算显示元件的适配尺寸的一个或者多个运算公式。这一计算函数对应实现的功能程序代码可以作为单一控件,或者整合在使用的应用中。在执行计算前,可以根据适配尺寸对该缩放函数进行初始化,确定对应的变量参数后完成缩放。
305:遍历所述显示元件树形结构,根据所述缩放函数依次对所述显示元件进行缩放。
如上所描述,显示界面与显示元件之间具体特定的层次关系。这样的层次关系可以通过特定的树形结构(例如包含多个层次多叉树结构)所表示。
由此,遍历树形结构,在每个节点中(即显示元件)执行所述缩放函数,完成对显示界面中所有显示元件的缩放操作,缩放至与适配尺寸对应的大小。
307:获取输出函数,对缩放后的显示元件进行渲染及定位,在当前屏幕上输出与所述当前屏幕适配的显示界面。
完成显示元件缩放以后,若需要实现显示界面在当前屏幕的展示,还需要对显示元件进行定位以及渲染操作,在当前屏幕的特定位置显示出特定的渲染效果,以最终完成屏幕适配的过程。该输出函数可以采用现有技术中任何常用的,适合使用的相关功能函数。该输出函数可以是一个功能函数完成,也可以是由多个功能函数共同执行以实现定位和渲染的过程。
在当前安卓系统的应用中,碎片化的情况比较严重,很难预计新的屏幕尺寸,导致应用程序的再版任务繁重。而且,采用官方解决方法时,需要在应用程序下预设多个与不同尺寸的显示屏幕对应的配置文件,不便于进行维护。
在本发明实施例中,提供了执行该屏幕适配方法的具体操作过程。通过整合在系统中的计算函数及缩放函数,以实时获取的当前屏幕参数为基础,就能够很好的完成屏幕适配的缩放过程,缩放至合适的尺寸(即输出对应的适配尺寸值)。仅需要预设计算函数及缩放函数即可适配不同尺寸的显示屏幕,等比例的放大或者缩小显示元件(及显示界面)。
为进一步的解释本发明实施例提供的屏幕适配方法,以安卓系统中的具体屏幕适配实例进行陈述:
在安卓系统中,用户交互界面(即显示界面)都是通过view和ViewGroup及其一些派生类组合生成的。其中view是所有用户交互界面的基类,而ViewGroup是容纳这些组件的容器(也从view中派生而成)。
请参阅图5,为View和ViewGroup在组成用户交互界面时之间的关系示意图。为了实现用户交互界面的屏幕适配,需要对其组成的单元View执行适应性的缩放(即对显示单元执行的操作)。
在安卓系统中,View的主要生命周期包括以下几个执行步骤。
首先,执行on finishinflate(),完成从XML布局获取view的树形结构的过程,此时,可以在程序中操纵、编辑view。
然后,还包括onmeasure(int,int),用于确定所有view的子元素的大小以及当view分配所有的子元素的大小以及位置时触发的on layout(boolean,int,int,int,int)。
最后,则由ondraw(canvas)view来渲染内容的细节。
在本发明实施例提供的屏幕适配方法中,可以在view的生命周期的第一步中,增设scaleview这一自定义的功能,采集需要的view的参数,计算对应的适配尺寸,并对view的参数赋值(即将其缩放至对应大小)。
相对应地,该自定义功能中,至少包括scalecalculator(与上述实施例中的计算函数对应)和scale view(与上述实施例中的缩放函数对应)这两个组件,分别执行相应的功能。
例如,首先,获取当前屏幕参数,对scalecalculator进行初始化。
然后,在scale view中,首先获取view的原始尺寸(layoutparameter)。根据该view的宽和高占基准屏幕的比例,计算在当前屏幕中,view的宽和高像素数量。进一步地,还可以对安卓系统中view中的其它尺寸属性,如padding、margin等执行缩放操作。
以上描述了对于单个view的过程,对于viewgroup,需要遍历其中的view以执行上述缩放操作过程。为实现整个用户界面的缩放以适应当前屏幕,直至将整个view的树形结构遍历完毕后,完成显示界面所有的view。
本发明实施例还提供了一种屏幕适配装置。请参阅图6,该屏幕适配装置包括:原始尺寸生成模块100、计算模块200以及缩放模块300。
其中,原始尺寸生成模块100用于根据基准屏幕参数生成显示元件的原始尺寸。计算模块200用于计算当前屏幕参数与基准屏幕参数之间的第一比例。缩放模块300用于根据所述第一比例将所述显示元件的原始尺寸缩放为与当前屏幕适配的适配尺寸。
在实际的操作过程中,首先由原始尺寸生成模块100生成显示元件的原始尺寸。另外,由计算模块200计算当前屏幕参数与基准屏幕参数之间的第一比例。最后根据原始尺寸和第一比例,通过缩放模块300将所述显示元件的原始尺寸缩放为与当前屏幕适配的适配尺寸。
在该实施例中,通过预设的基准屏幕,使用等比例缩放的方法完成显示元件的缩放,获得与屏幕适配的尺寸,很好的避免了使用独立像素密度方法造成的无法充分填满屏幕,需要在软件版本中预先加入相应的参数配置信息,存在未知适配的问题。
在本发明的另一实施例中,请参阅图8,所述缩放模块300具体包括:获取单元310,适配尺寸计算单元320以及缩放单元330。获取单元310用于获取当前屏幕参数和当前显示界面对应的显示元件树形结构。适配尺寸计算单元320,用于根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸。缩放单元330,用于根据所述适配尺寸,遍历所述显示元件树形结构对显示元件树形结构的节点进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
在本实施例中,所述缩放单元330具体用于:获得与所述适配尺寸对应的缩放函数;遍历所述显示元件树形结构,依次对显示元件树形结构的节点执行所述缩放函数以及对缩放后的显示元件执行用于渲染及定位显示元件的输出函数,在当前屏幕上输出与当前屏幕适配的显示界面。
在本实施例中,所述显示元件包括文本元件和图形元件。所述缩放模块300具体用于:根据所述第一比例分别缩放文本元件和图形元件以适配当前屏幕。
在实际的运行过程中,文本元件与图形元件通常存放于不同的类别中。在进行缩放时,分别对文本元件和图形元件执行缩放,获得相应的适配尺寸进行播放。这样可以保证显示界面的文本也能够完成缩放,适配当前屏幕。
在本实施例中,显示界面由若干显示元件以预定组合形式组成。该缩放模块300可以具体用于:获取当前屏幕参数;根据所述当前屏幕参数,初始化用于计算显示元件的适配尺寸的计算函数;根据计算获得的适配尺寸,初始化用于缩放显示元件至适配尺寸的缩放函数;遍历以显示元件为节点的树形结构并执行缩放函数;所述树形结构与显示界面相对应;通过用于渲染及定位显示元件的输出函数,在当前屏幕上输出与当前屏幕适配的显示界面。
在本实施例中,所述原始尺寸生成模块100具体用于;计算显示元件的设计尺寸参数与基准屏幕参数之间的第二比例;根据所述第二比例缩放显示元件的设计尺寸生成显示元件的原始尺寸。
显示元件的原始尺寸及适配尺寸可以以像素点为单位。所述当前屏幕参数可以包括:当前屏幕的显示分辨率、当前屏幕的长度、当前屏幕的宽高比例以及屏幕方向。
对于显示屏幕而言,其是以像素点进行显示的,使用像素点为单位能够具有较好的通用性,便于移植到各种应用环境中。另外,以像素点为单位,与使用其它的衡量单位(例如厘米等)相比,还能够方便的表示不规则的图案形状等,定义简便。
在本发明实施例中的缩放模块,通过执行计算函数及缩放函数,能够很好的完成屏幕适配的缩放过程,缩放至合适的尺寸。这样的屏幕适配装置无需采用官方解决方法的形式,在应用程序下预设多个与不同尺寸的显示屏幕对应的配置文件,仅需要预设计算函数及缩放函数即可适配不同尺寸的显示屏幕,等比例的放大或者缩小显示元件以及对应的显示界面,便于进行维护。
图7是本发明实施例提供的一种电子设备的结构示意图,请参阅图7,该设备60包括一个或多个处理器601以及存储器602。图7中以一个处理器601为例。
执行视频预览方法的电子设备还可以包括输入装置603和输出装置604。处理器601、存储器602、输入装置603和输出装置604可以通过总线或者其他方式连接,图6中以通过总线连接为例。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本发明实施例中的屏幕适配方法对应的程序指令或模块,例如,附图5所示的原始尺寸生成模块100、第一计算模块200以及缩放模块300中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例屏幕适配方法。
存储器602可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据视频预览装置的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器602可选包括相对于处理器601远程设置的存储器,这些远程存储器可以通过网络连接至屏幕适配装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置603可接收输入的数字或字符信息,以及产生与屏幕适配装置的用户设置以及功能控制有关的键信号输入。输出装置604可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器602中,当被所述一个或者多个处理器601执行时,执行上述任意方法实施例中的屏幕适配方法。
未在本实施例中详尽描述的技术细节,可参见本发明实施例所提供的方法。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
以上所述仅为本发明的实施方式,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种屏幕适配方法,其特征在于,包括:
根据基准屏幕参数生成显示元件的原始尺寸;
计算当前屏幕参数与所述基准屏幕参数之间的第一比例;
根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸,具体包括:
获取当前屏幕参数和当前显示界面对应的显示元件树形结构;
根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸;
根据所述适配尺寸,遍历所述显示元件树形结构对所述显示元件进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
3.根据权利要求2所述的方法,其特征在于,所述根据所述适配尺寸,遍历所述显示元件树形结构对所述显示元件进行缩放,具体包括:
获得与所述适配尺寸对应的缩放函数;
遍历所述显示元件树形结构,根据所述缩放函数依次对所述显示元件进行缩放;
所述在所述当前屏幕上输出与所述当前屏幕适配的显示界面,具体包括:
获取输出函数,对缩放后的所述显示元件进行渲染及定位,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述根据基准屏幕参数生成显示元件的原始尺寸,具体包括:
计算所述显示元件的设计尺寸参数与所述基准屏幕参数之间的第二比例;
根据所述第二比例缩放显示元件的设计尺寸生成所述显示元件的原始尺寸。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述显示元件包括文本元件和图形元件;
所述根据所述第一比例缩放显示元件以适配所述当前屏幕,具体包括:根据所述第一比例分别缩放所述文本元件和所述图形元件以适配所述当前屏幕。
6.一种屏幕适配装置,其特征在于,包括:
原始尺寸生成模块,用于根据基准屏幕参数生成显示元件的原始尺寸;
第一计算模块,用于计算当前屏幕参数与所述基准屏幕参数之间的第一比例;
缩放模块,用于根据所述第一比例将所述显示元件的原始尺寸缩放为与所述当前屏幕适配的适配尺寸。
7.根据权利要求6所述的屏幕适配装置,其特征在于,所述缩放模块包括:
获取单元,用于获取当前屏幕参数和当前显示界面对应的显示元件树形结构;
适配尺寸计算单元,用于根据所述当前屏幕参数,计算得到与所述当前屏幕适配的适配尺寸;
缩放单元,用于根据所述适配尺寸,遍历所述显示元件树形结构对显示元件进行缩放,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
8.根据权利要求7所述的屏幕适配装置,其特征在于,所述缩放单元具体用于:
获得与所述适配尺寸对应的缩放函数;
遍历所述显示元件树形结构,根据所述缩放函数依次对显示元件进行缩放以及
获取输出函数,对缩放后的所述显示元件进行渲染及定位,在所述当前屏幕上输出与所述当前屏幕适配的显示界面。
9.根据权利要求6-8任一所述的屏幕适配装置,其特征在于,所述原始尺寸生成模块具体用于;
计算所述显示元件的设计尺寸参数与所述基准屏幕参数之间的第二比例;
根据所述第二比例缩放显示元件的设计尺寸生成所述显示元件的原始尺寸。
10.根据权利要求6-8任一所述的屏幕适配装置,其特征在于,所述显示元件包括文本元件和图形元件;
所述缩放模块具体用于,根据所述第一比例分别缩放所述文本元件和图形元件以适配所述当前屏幕。
CN201610827203.7A 2016-09-14 2016-09-14 一种屏幕适配方法及其装置 Pending CN106406794A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610827203.7A CN106406794A (zh) 2016-09-14 2016-09-14 一种屏幕适配方法及其装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610827203.7A CN106406794A (zh) 2016-09-14 2016-09-14 一种屏幕适配方法及其装置

Publications (1)

Publication Number Publication Date
CN106406794A true CN106406794A (zh) 2017-02-15

Family

ID=57997803

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610827203.7A Pending CN106406794A (zh) 2016-09-14 2016-09-14 一种屏幕适配方法及其装置

Country Status (1)

Country Link
CN (1) CN106406794A (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092479A (zh) * 2017-03-17 2017-08-25 武汉斗鱼网络科技有限公司 用于Android宽屏设备的屏幕适配方法及系统
CN107402757A (zh) * 2017-07-11 2017-11-28 北京潘达互娱科技有限公司 页面渲染方法及装置
CN108334391A (zh) * 2017-12-31 2018-07-27 广州金十信息科技有限公司 一种多系统显示适配方法、电子设备及存储介质
CN108427596A (zh) * 2018-03-15 2018-08-21 上海哔哩哔哩科技有限公司 移动终端应用界面视图分辨率匹配方法、装置及存储介质
WO2018176841A1 (zh) * 2017-03-31 2018-10-04 武汉斗鱼网络科技有限公司 屏幕尺寸自适应方法、装置、用户终端及可读存储介质
CN109101233A (zh) * 2017-06-20 2018-12-28 福建星网视易信息系统有限公司 适配多种屏幕分辨率的方法、存储设备及安卓设备
CN109408165A (zh) * 2018-09-19 2019-03-01 浙江省测绘科学技术研究院 数据可视化系统的多终端自适应方法及系统
CN109862412A (zh) * 2019-03-14 2019-06-07 广州酷狗计算机科技有限公司 合拍视频的方法、装置及存储介质
CN110764850A (zh) * 2018-07-26 2020-02-07 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、系统及设备
CN110990009A (zh) * 2019-11-29 2020-04-10 湖南快乐阳光互动娱乐传媒有限公司 Android-UI不同屏幕尺寸的适配方法及Android应用开发方法
CN111338733A (zh) * 2020-02-25 2020-06-26 珠海格力电器股份有限公司 用户界面适配方法和系统
CN111797933A (zh) * 2020-07-10 2020-10-20 百度在线网络技术(北京)有限公司 模板匹配的方法、装置、电子设备和存储介质
CN112055244A (zh) * 2020-09-04 2020-12-08 维沃移动通信有限公司 图像获取方法、装置、服务器和电子设备
CN112181568A (zh) * 2020-09-27 2021-01-05 上海连尚网络科技有限公司 局部适配屏幕方法和设备
CN112199139A (zh) * 2020-09-02 2021-01-08 成都安易迅科技有限公司 一种系统缩放比例的自适应调整方法及装置
CN112817507A (zh) * 2021-01-26 2021-05-18 广州虎牙科技有限公司 控件适配方法、装置、电子设备及存储介质
CN113253959A (zh) * 2021-05-26 2021-08-13 智慧泉城智能科技有限公司 一种适配不同大屏分辨率的前端投屏方法
CN113436108A (zh) * 2021-07-08 2021-09-24 山东健康医疗大数据有限公司 一种canvas在高倍屏下处理模糊的方法
CN113593430A (zh) * 2021-07-26 2021-11-02 浙江大华技术股份有限公司 一种配屏方法、装置、接收卡、配屏系统及可读存储介质
CN113829996A (zh) * 2020-06-24 2021-12-24 逸驾智能科技有限公司 显示方法、电子设备和计算机可读存储介质
CN114489909A (zh) * 2022-02-07 2022-05-13 智道网联科技(北京)有限公司 车载应用的屏幕适配方法、装置及电子设备、存储介质
CN114584831A (zh) * 2022-01-20 2022-06-03 百果园技术(新加坡)有限公司 提高视频清晰度的视频优化处理方法、装置、设备和存储介质
WO2023198010A1 (zh) * 2022-04-15 2023-10-19 华为技术有限公司 显示方法及电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103530117A (zh) * 2013-09-30 2014-01-22 山西云途信息技术有限公司 一种适配移动终端不同尺寸屏幕的方法及装置
US20150268850A1 (en) * 2012-12-19 2015-09-24 Tencent Technology (Shenzhen) Company Limited Method of Implementing Screen Adaptation for Owner-Drawn Elements and Apparatus
CN105282321A (zh) * 2015-08-28 2016-01-27 上海健保科技有限公司 一种应用软件用户界面与显示设备的适配方法
CN105511725A (zh) * 2015-12-09 2016-04-20 网易(杭州)网络有限公司 界面中控件的显示方法及装置
CN105653254A (zh) * 2014-12-03 2016-06-08 科大讯飞股份有限公司 原生界面适配方法、装置及应用其的电子设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150268850A1 (en) * 2012-12-19 2015-09-24 Tencent Technology (Shenzhen) Company Limited Method of Implementing Screen Adaptation for Owner-Drawn Elements and Apparatus
CN103530117A (zh) * 2013-09-30 2014-01-22 山西云途信息技术有限公司 一种适配移动终端不同尺寸屏幕的方法及装置
CN105653254A (zh) * 2014-12-03 2016-06-08 科大讯飞股份有限公司 原生界面适配方法、装置及应用其的电子设备
CN105282321A (zh) * 2015-08-28 2016-01-27 上海健保科技有限公司 一种应用软件用户界面与显示设备的适配方法
CN105511725A (zh) * 2015-12-09 2016-04-20 网易(杭州)网络有限公司 界面中控件的显示方法及装置

Cited By (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107092479A (zh) * 2017-03-17 2017-08-25 武汉斗鱼网络科技有限公司 用于Android宽屏设备的屏幕适配方法及系统
WO2018176841A1 (zh) * 2017-03-31 2018-10-04 武汉斗鱼网络科技有限公司 屏幕尺寸自适应方法、装置、用户终端及可读存储介质
CN109101233A (zh) * 2017-06-20 2018-12-28 福建星网视易信息系统有限公司 适配多种屏幕分辨率的方法、存储设备及安卓设备
CN109101233B (zh) * 2017-06-20 2022-04-12 福建星网视易信息系统有限公司 适配多种屏幕分辨率的方法、存储设备及安卓设备
CN107402757A (zh) * 2017-07-11 2017-11-28 北京潘达互娱科技有限公司 页面渲染方法及装置
CN108334391A (zh) * 2017-12-31 2018-07-27 广州金十信息科技有限公司 一种多系统显示适配方法、电子设备及存储介质
CN108427596A (zh) * 2018-03-15 2018-08-21 上海哔哩哔哩科技有限公司 移动终端应用界面视图分辨率匹配方法、装置及存储介质
CN108427596B (zh) * 2018-03-15 2021-07-02 上海哔哩哔哩科技有限公司 移动终端应用界面视图分辨率匹配方法、装置及存储介质
CN110764850A (zh) * 2018-07-26 2020-02-07 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、系统及设备
CN110764850B (zh) * 2018-07-26 2023-06-20 阿里巴巴集团控股有限公司 界面显示方法、参数赋值方法、系统及设备
CN109408165A (zh) * 2018-09-19 2019-03-01 浙江省测绘科学技术研究院 数据可视化系统的多终端自适应方法及系统
CN109862412A (zh) * 2019-03-14 2019-06-07 广州酷狗计算机科技有限公司 合拍视频的方法、装置及存储介质
CN109862412B (zh) * 2019-03-14 2021-08-13 广州酷狗计算机科技有限公司 合拍视频的方法、装置及存储介质
CN110990009A (zh) * 2019-11-29 2020-04-10 湖南快乐阳光互动娱乐传媒有限公司 Android-UI不同屏幕尺寸的适配方法及Android应用开发方法
CN111338733A (zh) * 2020-02-25 2020-06-26 珠海格力电器股份有限公司 用户界面适配方法和系统
CN113829996A (zh) * 2020-06-24 2021-12-24 逸驾智能科技有限公司 显示方法、电子设备和计算机可读存储介质
CN113829996B (zh) * 2020-06-24 2023-09-08 逸驾智能科技有限公司 显示方法、电子设备和计算机可读存储介质
CN111797933A (zh) * 2020-07-10 2020-10-20 百度在线网络技术(北京)有限公司 模板匹配的方法、装置、电子设备和存储介质
CN112199139B (zh) * 2020-09-02 2023-04-25 成都安易迅科技有限公司 一种系统缩放比例的自适应调整方法及装置
CN112199139A (zh) * 2020-09-02 2021-01-08 成都安易迅科技有限公司 一种系统缩放比例的自适应调整方法及装置
CN112055244A (zh) * 2020-09-04 2020-12-08 维沃移动通信有限公司 图像获取方法、装置、服务器和电子设备
CN112181568A (zh) * 2020-09-27 2021-01-05 上海连尚网络科技有限公司 局部适配屏幕方法和设备
WO2022063158A1 (zh) * 2020-09-27 2022-03-31 上海连尚网络科技有限公司 局部适配屏幕方法和设备
CN112817507B (zh) * 2021-01-26 2023-11-03 广州虎牙科技有限公司 控件适配方法、装置、电子设备及存储介质
CN112817507A (zh) * 2021-01-26 2021-05-18 广州虎牙科技有限公司 控件适配方法、装置、电子设备及存储介质
CN113253959A (zh) * 2021-05-26 2021-08-13 智慧泉城智能科技有限公司 一种适配不同大屏分辨率的前端投屏方法
CN113436108A (zh) * 2021-07-08 2021-09-24 山东健康医疗大数据有限公司 一种canvas在高倍屏下处理模糊的方法
CN113593430A (zh) * 2021-07-26 2021-11-02 浙江大华技术股份有限公司 一种配屏方法、装置、接收卡、配屏系统及可读存储介质
CN114584831A (zh) * 2022-01-20 2022-06-03 百果园技术(新加坡)有限公司 提高视频清晰度的视频优化处理方法、装置、设备和存储介质
CN114584831B (zh) * 2022-01-20 2024-04-02 百果园技术(新加坡)有限公司 提高视频清晰度的视频优化处理方法、装置、设备和存储介质
CN114489909A (zh) * 2022-02-07 2022-05-13 智道网联科技(北京)有限公司 车载应用的屏幕适配方法、装置及电子设备、存储介质
CN114489909B (zh) * 2022-02-07 2023-09-08 智道网联科技(北京)有限公司 车载应用的屏幕适配方法、装置及电子设备、存储介质
WO2023198010A1 (zh) * 2022-04-15 2023-10-19 华为技术有限公司 显示方法及电子设备

Similar Documents

Publication Publication Date Title
CN106406794A (zh) 一种屏幕适配方法及其装置
CN104718528B (zh) 确定界面控件的颜色的方法、装置以及终端设备
TWI336042B (en) Computer-implemented system, method for composing computer-displayable graphics, and computer-readable medium for performaing the same
US7602405B2 (en) Multiple brush components
CN107239287A (zh) 一种网页显示方法、装置、电子设备及存储介质
CN107918549B (zh) 立体展开图面的标记方法、装置、计算机设备及存储介质
KR20040086043A (ko) 비주얼 및 장면 그래프 인터페이스
CN103208225A (zh) 一种瓦片地图制作方法及系统
CN105468573B (zh) 可配置式图表应用系统
CN106997613A (zh) 根据2d图像的3d模型生成
CN103227877B (zh) 图像形成装置及图像形成方法
CN104506921B (zh) 一种动态显示图片的方法及装置
CN109948549A (zh) Ocr数据生成方法、装置、计算机设备及存储介质
CN110502205A (zh) 图片显示边缘处理方法、装置、电子设备和可读存储介质
Myers et al. Easily adding animations to interfaces using constraints
CN108108194A (zh) 用户界面编辑方法以及用户界面编辑器
CN106447756A (zh) 用于生成用户定制的计算机生成动画的方法和系统
CN107515748A (zh) 报表管理界面生成方法及文件共享方法
CN110990431A (zh) 一种实现中国地图和折线图数据同步联动轮播的方法
US5361333A (en) System and method for generating self-overlapping calligraphic images
CN110110831A (zh) 一种复合二维码及其生成、显示方法、电子设备
CN116452756A (zh) 三维场景局部自动化生成方法、装置、设备及存储介质
CN108614657B (zh) 图像合成方法、装置、设备及其图像载体
CN109461215A (zh) 角色插画的生成方法、装置、计算机设备及存储介质
CN113064535B (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
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20170215