本发明涉及数字显示,特别涉及一种软件界面分辨率自适应方法、装置、设备及存储介质。
背景技术:
1、随着数字显示技术的发展,显示屏的分辨率越来越大,已经由早期的1080p发展到目前主流的4k,甚至8k。这对软件界面的研发也提出了新的要求。为节省研发成本,通常要求一套软件界面需要尽可能等比例展示在多种不同分辨率的显示屏。为达到这一目标,目前可使用的技术一般为:自行计算,根据当前分辨率计算控件的展示位置和尺寸);常规布局,界面控件加入到特定的布局,布局会根据指定的参数自动排布加入到该布局的控件,布局可以嵌套;锚定布局,每次建立两个控件之间的相对位置和尺寸关系,并据此将同一页面中所有控件的位置尺寸关系串联起来。
2、自行计算的编码成本较高,每一个控件都需要实现其唯一方法计算其显示参数。
3、使用常规布局,页面内所有控件的显示参数都交由布局根据用户设定的参数计算,布局可以嵌套,可在一个页面内的不同区域实现不同的布局方式,布局的展示效果如图1所示。布局可设置的参数有限,自由度不够大,界面复杂时需要规划好页面内子区域的划分,指定特定控件的展示位置和尺寸难度较大,在布局嵌套的情况该局限性表现得更明显。锚定布局只需要关注两个控件之间的显示参数关系,使用起来更加简单、直观。其主要理念为提取控件的主要轮廓参数:四条外框线段、水平中线、竖直中线、中心点、填充模式等,每次将一个控件的一个轮廓参数绑定到另一个控件的一个轮廓参数。譬如将控件a的竖直方向左边与控件b的竖直方向右边对齐、控件a的水平方向下边与控件b的水平方向上边对齐,就可以根据控件b的位置和尺寸自动计算控件a的位置和尺寸,如图2所示。由于界面设计时控件的位置参数值的不确定性,锚定布局仍然存在自由度不够的问题。以此如何提高控件位置关系的自由度是目前亟待解决的问题。
技术实现思路
1、有鉴于此,本发明的目的在于提供一种软件界面分辨率自适应方法、装置、设备及存储介质,能够基于锚定布局建立两个控件之间位置尺寸关系的概念,在使用简单直观的基础上扩展控件位置关系的自由度。其具体方案如下:
2、第一方面,本技术公开了一种软件界面分辨率自适应方法,包括:
3、对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
4、基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
5、基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
6、可选的,所述对软件界面进行初始化之前,还包括:
7、利用预先设置的计算模块实时响应软件界面对应显示屏的分辨率变化,以确定所述实际分辨率。
8、可选的,所述根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标之后,还包括:
9、根据所述原始尺寸确定所述控件的宽度与高度;
10、基于所述控件的宽与高以及所述目标点坐标确定相应的目标点坐标比例信息。
11、可选的,所述基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,包括:
12、判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸;
13、基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置。
14、可选的,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
15、若所述控件不需要保持所述宽高比,则基于所述第一缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述第二缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
16、根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
17、可选的,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
18、若所述控件需要保持所述宽高比,则将所述第一缩放比例与所述第二缩放比例进行大小对比,根据相应的对比结果将所述第一缩放比例与所述第二缩放比例中最小的缩放比例确定为目标缩放比例;
19、基于所述目标缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述目标缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
20、根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
21、可选的,所述基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置,包括:
22、基于所述控件依赖关系树的根节点获取所述软件界面对应的显示屏的页面rect信息;
23、获取所述目标点坐标对应的横坐标与所述rect信息对应的显示屏宽度数据的第一乘积结果以及所述目标点坐标对应的纵坐标与相应的显示屏高度数据的第二乘积结果;
24、获取所述目标点坐标比例信息对应的横坐标与所述控件的实际宽度数值的第三乘积结果,并获取所述目标点坐标比例信息对应的纵坐标与所述控件的实际高度数值的第四乘积结果;
25、确定所述rect信息对应的显示屏左上角横坐标与所述第一乘积结果的第一和值,并基于所述第一和值与所述第三乘积结果之间的差值确定所述控件的摆放横坐标;
26、确定所述rect信息对应的显示屏左上角纵坐标与所述第二乘积结果的第二和值,并基于所述第二和值与所述第四乘积结果之间的差值确定所述控件的摆放纵坐标;
27、基于所述控件的摆放横坐标以及所述控件的摆放纵坐标确定所述控件的实际摆放位置。
28、第二方面,本技术公开了一种软件界面分辨率自适应装置,包括:
29、设置模块,用于对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
30、缩放比例确定模块,用于基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
31、尺寸与位置计算模块,用于基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
32、第三方面,本技术公开了一种电子设备,包括:
33、存储器,用于保存计算机程序;
34、处理器,用于执行所述计算机程序以实现前述的软件界面分辨率自适应方法。
35、第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的软件界面分辨率自适应方法。
36、由上可知,本技术首先对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;然后基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;最后基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。可见,本技术按标准分辨率下的界面设计设置控件的尺寸和位置,符合常规编码方式,简单易用;仅有的额外工作为设置两个控件进行绑定后所述两个控件之间的关联点坐标以及依赖控件上的关联点坐标,这些坐标也使用标准分辨率下的数值,设置简单;每次仅需关注两个控件之间的关联关系,非常直观,且关联点的设置很自由,几乎没有限制;所有的初始化运算由相关模块自动完成,用户无需关心。这样一来,在使用简单直观的基础上扩展控件位置关系的自由度。
1.一种软件界面分辨率自适应方法,其特征在于,包括:
2.根据权利要求1所述的软件界面分辨率自适应方法,其特征在于,所述对软件界面进行初始化之前,还包括:
3.根据权利要求1或2所述的软件界面分辨率自适应方法,其特征在于,所述根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标之后,还包括:
4.根据权利要求3所述的软件界面分辨率自适应方法,其特征在于,所述基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,包括:
5.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
6.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
7.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置,包括:
8.一种软件界面分辨率自适应装置,其特征在于,包括:
9.一种电子设备,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的软件界面分辨率自适应方法的步骤。
