CN118093085A - 一种软件界面分辨率自适应方法、装置、设备及存储介质 - Google Patents
一种软件界面分辨率自适应方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN118093085A CN118093085A CN202410496903.7A CN202410496903A CN118093085A CN 118093085 A CN118093085 A CN 118093085A CN 202410496903 A CN202410496903 A CN 202410496903A CN 118093085 A CN118093085 A CN 118093085A
- Authority
- CN
- China
- Prior art keywords
- control
- scaling
- actual
- target point
- resolution
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 230000006978 adaptation Effects 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 15
- 230000000007 visual effect Effects 0.000 description 9
- 238000004873 anchoring Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 230000003044 adaptive effect Effects 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请公开了一种软件界面分辨率自适应方法、装置、设备及存储介质,涉及数字显示技术领域,包括:对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。由此,本申请能够提升控件位置关系的自由度。
Description
技术领域
本发明涉及数字显示技术领域,特别涉及一种软件界面分辨率自适应方法、装置、设备及存储介质。
背景技术
随着数字显示技术的发展,显示屏的分辨率越来越大,已经由早期的1080P发展到目前主流的4K,甚至8K。这对软件界面的研发也提出了新的要求。为节省研发成本,通常要求一套软件界面需要尽可能等比例展示在多种不同分辨率的显示屏。为达到这一目标,目前可使用的技术一般为:自行计算,根据当前分辨率计算控件的展示位置和尺寸);常规布局,界面控件加入到特定的布局,布局会根据指定的参数自动排布加入到该布局的控件,布局可以嵌套;锚定布局,每次建立两个控件之间的相对位置和尺寸关系,并据此将同一页面中所有控件的位置尺寸关系串联起来。
自行计算的编码成本较高,每一个控件都需要实现其唯一方法计算其显示参数。
使用常规布局,页面内所有控件的显示参数都交由布局根据用户设定的参数计算,布局可以嵌套,可在一个页面内的不同区域实现不同的布局方式,布局的展示效果如图1所示。布局可设置的参数有限,自由度不够大,界面复杂时需要规划好页面内子区域的划分,指定特定控件的展示位置和尺寸难度较大,在布局嵌套的情况该局限性表现得更明显。锚定布局只需要关注两个控件之间的显示参数关系,使用起来更加简单、直观。其主要理念为提取控件的主要轮廓参数:四条外框线段、水平中线、竖直中线、中心点、填充模式等,每次将一个控件的一个轮廓参数绑定到另一个控件的一个轮廓参数。譬如将控件A的竖直方向左边与控件B的竖直方向右边对齐、控件A的水平方向下边与控件B的水平方向上边对齐,就可以根据控件B的位置和尺寸自动计算控件A的位置和尺寸,如图2所示。由于界面设计时控件的位置参数值的不确定性,锚定布局仍然存在自由度不够的问题。以此如何提高控件位置关系的自由度是目前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种软件界面分辨率自适应方法、装置、设备及存储介质,能够基于锚定布局建立两个控件之间位置尺寸关系的概念,在使用简单直观的基础上扩展控件位置关系的自由度。其具体方案如下:
第一方面,本申请公开了一种软件界面分辨率自适应方法,包括:
对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
可选的,所述对软件界面进行初始化之前,还包括:
利用预先设置的计算模块实时响应软件界面对应显示屏的分辨率变化,以确定所述实际分辨率。
可选的,所述根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标之后,还包括:
根据所述原始尺寸确定所述控件的宽度与高度;
基于所述控件的宽与高以及所述目标点坐标确定相应的目标点坐标比例信息。
可选的,所述基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,包括:
判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸;
基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置。
可选的,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
若所述控件不需要保持所述宽高比,则基于所述第一缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述第二缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
可选的,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
若所述控件需要保持所述宽高比,则将所述第一缩放比例与所述第二缩放比例进行大小对比,根据相应的对比结果将所述第一缩放比例与所述第二缩放比例中最小的缩放比例确定为目标缩放比例;
基于所述目标缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述目标缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
可选的,所述基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置,包括:
基于所述控件依赖关系树的根节点获取所述软件界面对应的显示屏的页面rect信息;
获取所述目标点坐标对应的横坐标与所述rect信息对应的显示屏宽度数据的第一乘积结果以及所述目标点坐标对应的纵坐标与相应的显示屏高度数据的第二乘积结果;
获取所述目标点坐标比例信息对应的横坐标与所述控件的实际宽度数值的第三乘积结果,并获取所述目标点坐标比例信息对应的纵坐标与所述控件的实际高度数值的第四乘积结果;
确定所述rect信息对应的显示屏左上角横坐标与所述第一乘积结果的第一和值,并基于所述第一和值与所述第三乘积结果之间的差值确定所述控件的摆放横坐标;
确定所述rect信息对应的显示屏左上角纵坐标与所述第二乘积结果的第二和值,并基于所述第二和值与所述第四乘积结果之间的差值确定所述控件的摆放纵坐标;
基于所述控件的摆放横坐标以及所述控件的摆放纵坐标确定所述控件的实际摆放位置。
第二方面,本申请公开了一种软件界面分辨率自适应装置,包括:
设置模块,用于对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
缩放比例确定模块,用于基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
尺寸与位置计算模块,用于基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序以实现前述的软件界面分辨率自适应方法。
第四方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,所述计算机程序被处理器执行时实现前述的软件界面分辨率自适应方法。
由上可知,本申请首先对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;然后基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;最后基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。可见,本申请按标准分辨率下的界面设计设置控件的尺寸和位置,符合常规编码方式,简单易用;仅有的额外工作为设置两个控件进行绑定后所述两个控件之间的关联点坐标以及依赖控件上的关联点坐标,这些坐标也使用标准分辨率下的数值,设置简单;每次仅需关注两个控件之间的关联关系,非常直观,且关联点的设置很自由,几乎没有限制;所有的初始化运算由相关模块自动完成,用户无需关心。这样一来,在使用简单直观的基础上扩展控件位置关系的自由度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为常规布局示意图;
图2为锚定布局示意图;
图3为本申请公开的一种软件界面分辨率自适应方法流程图;
图4为本申请公开的一种具体的软件界面分辨率自适应方法流程图;
图5为本申请公开的一种软件界面分辨率自适应装置结构示意图;
图6为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前常规布局可设置的参数有限,自由度不够大,界面复杂时需要规划好页面内子区域的划分,指定特定控件的展示位置和尺寸难度较大,在布局嵌套的情况该局限性表现得更明显。锚定布局由于界面设计时控件的位置参数值的不确定性,锚定布局仍然存在自由度不够的问题。为了解决上述问题,本申请公开了一种软件界面分辨率自适应方法能够基于锚定布局建立两个控件之间位置尺寸关系的概念,在使用简单直观的基础上扩展控件位置关系的自由度。
参见图3所示,本发明实施例公开了一种软件界面分辨率自适应方法,包括:
步骤S11、对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点。
本实施例中,首先需要明确的是,本申请是基于锚定布局建立两个控件之间位置尺寸关系的概念,本申请分为计算模块和控件端两个部分,计算模块负责实时响应显示屏的分辨率变化;记录基准显示参数,即界面设计和开发所使用的标准分辨率;记录控件依赖关系。控件端记录其缩放时是否保持宽高比。首先,在对软件界面进行初始化之前,利用预先设置的计算模块实时响应软件界面对应显示屏的分辨率变化,以确定所述实际分辨率。之后,界面初始化,需根据设计好的标准分辨率界面设置各控件的尺寸、位置、目标点坐标、依赖控件的目标点坐标,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标之后,根据所述原始尺寸确定所述控件的宽度与高度;基于所述控件的宽与高以及所述目标点坐标确定相应的目标点坐标比例信息。需要指出的是,目标点为将任意两个控件进行绑定后所述两个控件之间的关联点。目标点坐标比例信息(rx,ry),对于标准宽为w,标准高为h,目标点坐标为(x,y)的控件,其目标点坐标比例信息为rx0 = x/w,ry0 = y/h,rx0和ry0的取值区间为[0,1]。
步骤S12、基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例。
本实施例中,所有控件设置完成后,计算模块统计所有控件依赖关系并建立控件依赖关系树,分别计算实际分辨率相对标准分辨率在水平方向和竖直方向的缩放比例ratioHor和ratioVer。该树的根节点为完整页面,一般为显示屏的RECT(x,y,w,h)信息。
步骤S13、基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
本实施例中,计算模块根据控件依赖关系树从根节点开始计算各控件实际尺寸和摆放位置。需要指出的是,首先需要判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸;基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置。
在计算控件的实际尺寸时,首先若所述控件不需要保持所述宽高比,则基于所述第一缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述第二缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。若所述控件需要保持所述宽高比,则将所述第一缩放比例与所述第二缩放比例进行大小对比,根据相应的对比结果将所述第一缩放比例与所述第二缩放比例中最小的缩放比例确定为目标缩放比例;基于所述目标缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述目标缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。具体来说,单个控件的尺寸和摆放位置计算过程如下:首先计算实际宽高,如果控件无需保持比例,则:
realW = w * ratioHor;
realH = h * ratioVer。
其中,w为控件的宽度,h为控件的高度,ratioHor为实际分辨率相对标准分辨率在水平方向的缩放比例;ratioVer为实际分辨率相对标准分辨率在竖直方向的缩放比例。
如需保持比例,则使用水平方向缩放比例和竖直方向缩放比例中较小的一个做计算:
realW = w * min(ratioHor,ratioVer);
realH = h * min(ratioHor,ratioVer)。
然后计算控件摆放位置,假设当前页面rect为(screenX,screenY,screenW,screenH),当前控件依赖当前页面,控件上的目标点比例坐标为(rx0,ry0),该目标点绑定到依赖控件即页面上的对应目标点(rx1,ry1),则当前控件的摆放位置为:
x = screenX + rx1 * screenW - rx0 * realW;
y = screenY + ry1 * screenH - ry0 * realH。
这样便实现了基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
由上可知,本申请首先对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;然后基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;最后基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。可见,本申请按标准分辨率下的界面设计设置控件的尺寸和位置,符合常规编码方式,简单易用;仅有的额外工作为设置两个控件进行绑定后所述两个控件之间的关联点坐标以及依赖控件上的关联点坐标,这些坐标也使用标准分辨率下的数值,设置简单;每次仅需关注两个控件之间的关联关系,非常直观,且关联点的设置很自由,几乎没有限制;所有的初始化运算由相关模块自动完成,用户无需关心。这样一来,在使用简单直观的基础上扩展控件位置关系的自由度。
基于上一实施例可知,本申请能够基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置,接下来,便针对计算控件的实际摆放位置的具体过程进行描述。参见图4所示,本申请公开了一种具体的软件界面分辨率自适应方法,包括:
步骤S21、根据原始尺寸确定控件的宽度与高度;基于所述控件的宽与高以及目标点坐标确定相应的目标点坐标比例信息。
本实施例中,首先根据控件的原始尺寸以及目标点坐标确定相应的目标点坐标比例信息,对于标准宽为w,标准高为h,目标点坐标为(x,y)的控件,其目标点坐标比例信息为rx0 = x/w,ry0 = y/h,rx0和ry0的取值区间为[0,1]。
步骤S22、基于所述控件依赖关系树的根节点获取软件界面对应的显示屏的页面rect信息。
本实施例中,在建立控件依赖关系树之后,该树的根节点为完整页面,一般为显示屏的RECT(x,y, w,h)信息。
步骤S23、获取所述目标点坐标对应的横坐标与所述rect信息对应的显示屏宽度数据的第一乘积结果以及所述目标点坐标对应的纵坐标与相应的显示屏高度数据的第二乘积结果。
步骤S24、获取所述目标点坐标比例信息对应的横坐标与所述控件的实际宽度数值的第三乘积结果,并获取所述目标点坐标比例信息对应的纵坐标与所述控件的实际高度数值的第四乘积结果。
步骤S25、确定所述rect信息对应的显示屏左上角横坐标与所述第一乘积结果的第一和值,并基于所述第一和值与所述第三乘积结果之间的差值确定所述控件的摆放横坐标;确定所述rect信息对应的显示屏左上角纵坐标与所述第二乘积结果的第二和值,并基于所述第二和值与所述第四乘积结果之间的差值确定所述控件的摆放纵坐标。
本实施例中,在计算控件摆放位置时,假设当前页面rect为(screenX,screenY,screenW,screenH),当前控件依赖当前页面,控件上的目标点比例坐标为(rx0,ry0),该目标点绑定到依赖控件即页面上的对应目标点(rx1,ry1),则当前控件的摆放位置为:
x = screenX + rx1 * screenW - rx0 * realW;
y = screenY + ry1 * screenH - ry0 * realH。
步骤S26、基于所述控件的摆放横坐标以及所述控件的摆放纵坐标确定所述控件的实际摆放位置。
本实施例中,在获取控件摆放位置的横坐标以及所述控件的摆放纵坐标之后,便确定出明确的坐标,即控件的实际摆放位置。
这样一来,本申请能够基于两个控件之间的关联关系通过相关模块完成简便的运算来明确控件的摆放位置,在使用简单直观的基础上扩展控件位置关系的自由度,实现适应软件界面分辨率的变化。
参见图5所示,本发明实施例公开了一种软件界面分辨率自适应装置,包括:
设置模块11,用于对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
缩放比例确定模块12,用于基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
尺寸与位置计算模块13,用于基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
由上可知,本申请首先对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;然后基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;最后基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。可见,本申请按标准分辨率下的界面设计设置控件的尺寸和位置,符合常规编码方式,简单易用;仅有的额外工作为设置两个控件进行绑定后所述两个控件之间的关联点坐标以及依赖控件上的关联点坐标,这些坐标也使用标准分辨率下的数值,设置简单;每次仅需关注两个控件之间的关联关系,非常直观,且关联点的设置很自由,几乎没有限制;所有的初始化运算由相关模块自动完成,用户无需关心。这样一来,在使用简单直观的基础上扩展控件位置关系的自由度。
在一些具体的实施例中,所述装置,还可以用于利用预先设置的计算模块实时响应软件界面对应显示屏的分辨率变化,以确定所述实际分辨率。
在一些具体的实施例中,所述装置,还可以用于根据所述原始尺寸确定所述控件的宽度与高度;基于所述控件的宽与高以及所述目标点坐标确定相应的目标点坐标比例信息。
在一些具体的实施例中,所述尺寸与位置计算模块13,具体可以包括:
实际尺寸计算子模块,用于判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸;
实际摆放位置计算子模块,用于基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置。
在一些具体的实施例中,所述实际尺寸计算子模块,具体可以包括:
第一实际宽度以及高度确定单元,用于若所述控件不需要保持所述宽高比,则基于所述第一缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述第二缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
第一实际尺寸确定单元,用于根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
在一些具体的实施例中,所述实际尺寸计算子模块,具体可以包括:
目标缩放比例确定单元,用于若所述控件需要保持所述宽高比,则将所述第一缩放比例与所述第二缩放比例进行大小对比,根据相应的对比结果将所述第一缩放比例与所述第二缩放比例中最小的缩放比例确定为目标缩放比例;
第二实际宽度以及高度确定单元,用于基于所述目标缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述目标缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
第二实际尺寸确定单元,用于根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
在一些具体的实施例中,所述实际摆放位置计算子模块,具体可以用于基于所述控件依赖关系树的根节点获取所述软件界面对应的显示屏的页面rect信息;获取所述目标点坐标对应的横坐标与所述rect信息对应的显示屏宽度数据的第一乘积结果以及所述目标点坐标对应的纵坐标与相应的显示屏高度数据的第二乘积结果;获取所述目标点坐标比例信息对应的横坐标与所述控件的实际宽度数值的第三乘积结果,并获取所述目标点坐标比例信息对应的纵坐标与所述控件的实际高度数值的第四乘积结果;确定所述rect信息对应的显示屏左上角横坐标与所述第一乘积结果的第一和值,并基于所述第一和值与所述第三乘积结果之间的差值确定所述控件的摆放横坐标;确定所述rect信息对应的显示屏左上角纵坐标与所述第二乘积结果的第二和值,并基于所述第二和值与所述第四乘积结果之间的差值确定所述控件的摆放纵坐标;基于所述控件的摆放横坐标以及所述控件的摆放纵坐标确定所述控件的实际摆放位置。
进一步的,本申请实施例还公开了一种电子设备,图6是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图6为本申请实施例提供的一种电子设备20的结构示意图。该电子设备 20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的软件界面分辨率自适应方法中的相关步骤。另外,本实施例中的电子设备20具体可以为电子计算机。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵 循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进 行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、 磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222 等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算 机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的软件界面分辨率自适应方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的软件界面分辨率自适应方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本申请所提供的技术方案进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种软件界面分辨率自适应方法,其特征在于,包括:
对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
2.根据权利要求1所述的软件界面分辨率自适应方法,其特征在于,所述对软件界面进行初始化之前,还包括:
利用预先设置的计算模块实时响应软件界面对应显示屏的分辨率变化,以确定所述实际分辨率。
3.根据权利要求1或2所述的软件界面分辨率自适应方法,其特征在于,所述根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标之后,还包括:
根据所述原始尺寸确定所述控件的宽度与高度;
基于所述控件的宽与高以及所述目标点坐标确定相应的目标点坐标比例信息。
4.根据权利要求3所述的软件界面分辨率自适应方法,其特征在于,所述基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,包括:
判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸;
基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置。
5.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
若所述控件不需要保持所述宽高比,则基于所述第一缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述第二缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
6.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述判断所述控件在进行缩放时是否需要保持宽高比,基于相应的判断结果、所述第一缩放比例、所述第二缩放比例以及所述控件的原始尺寸计算所述控件的实际尺寸,包括:
若所述控件需要保持所述宽高比,则将所述第一缩放比例与所述第二缩放比例进行大小对比,根据相应的对比结果将所述第一缩放比例与所述第二缩放比例中最小的缩放比例确定为目标缩放比例;
基于所述目标缩放比例与所述控件的宽度对应的数值的乘积确定所述控件的实际宽度数值,并根据所述目标缩放比例与所述控件的高度对应的数值的乘积确定所述控件的实际高度数值;
根据所述实际宽度数值与所述实际高度数值确定所述控件的实际尺寸。
7.根据权利要求4所述的软件界面分辨率自适应方法,其特征在于,所述基于所述控件的实际尺寸、所述目标点坐标比例信息、所述控件依赖关系树以及所述目标点坐标计算所述控件的实际摆放位置,包括:
基于所述控件依赖关系树的根节点获取所述软件界面对应的显示屏的页面rect信息;
获取所述目标点坐标对应的横坐标与所述rect信息对应的显示屏宽度数据的第一乘积结果以及所述目标点坐标对应的纵坐标与相应的显示屏高度数据的第二乘积结果;
获取所述目标点坐标比例信息对应的横坐标与所述控件的实际宽度数值的第三乘积结果,并获取所述目标点坐标比例信息对应的纵坐标与所述控件的实际高度数值的第四乘积结果;
确定所述rect信息对应的显示屏左上角横坐标与所述第一乘积结果的第一和值,并基于所述第一和值与所述第三乘积结果之间的差值确定所述控件的摆放横坐标;
确定所述rect信息对应的显示屏左上角纵坐标与所述第二乘积结果的第二和值,并基于所述第二和值与所述第四乘积结果之间的差值确定所述控件的摆放纵坐标;
基于所述控件的摆放横坐标以及所述控件的摆放纵坐标确定所述控件的实际摆放位置。
8.一种软件界面分辨率自适应装置,其特征在于,包括:
设置模块,用于对软件界面进行初始化,根据预先确定的标准分辨率界面设置各控件的原始尺寸以及目标点坐标;其中,所述目标点为将任意两个控件进行绑定后所述两个控件之间的关联点;
缩放比例确定模块,用于基于各所述控件间的依赖关系建立控件依赖关系树,并基于预先获取的实际分辨率以及标准分辨率确定水平方向的第一缩放比例以及竖直方向的第二缩放比例;
尺寸与位置计算模块,用于基于所述控件依赖关系树、所述第一缩放比例、所述第二缩放比例、各所述控件的原始尺寸以及所述目标点坐标计算所述控件的实际尺寸以及实际摆放位置,以便于适应软件界面分辨率的变化。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的软件界面分辨率自适应方法的步骤。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的软件界面分辨率自适应方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410496903.7A CN118093085A (zh) | 2024-04-24 | 2024-04-24 | 一种软件界面分辨率自适应方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410496903.7A CN118093085A (zh) | 2024-04-24 | 2024-04-24 | 一种软件界面分辨率自适应方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118093085A true CN118093085A (zh) | 2024-05-28 |
Family
ID=91150396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410496903.7A Pending CN118093085A (zh) | 2024-04-24 | 2024-04-24 | 一种软件界面分辨率自适应方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118093085A (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885755A (zh) * | 2012-12-19 | 2014-06-25 | 腾讯科技(深圳)有限公司 | 自绘控件的屏幕适配实现方法及实现装置 |
-
2024
- 2024-04-24 CN CN202410496903.7A patent/CN118093085A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103885755A (zh) * | 2012-12-19 | 2014-06-25 | 腾讯科技(深圳)有限公司 | 自绘控件的屏幕适配实现方法及实现装置 |
Non-Patent Citations (2)
Title |
---|
学习学习9527: "【UGUI】锚点相关设置及分辨率适配", 《HTTPS://BLOG.CSDN.NET/QQ_24364373/ARTICLE/DETAILS/129881573》, 31 March 2023 (2023-03-31), pages 1 - 9 * |
汐夜KOSHIO: "Unity ugui Anchor锚点自动适配画布中的相对位置", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1654204》, 2 July 2020 (2020-07-02), pages 1 - 6 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8711152B2 (en) | Animation control apparatus, animation control method, and non-transitory computer readable recording medium | |
CN104035664A (zh) | 一种应用程序用户界面的显示方法及装置 | |
WO2017113732A1 (zh) | 用户界面控件的布局方法及系统、控制方法及系统 | |
CN113687753B (zh) | 一种分屏样式配置方法、装置、智能终端及存储介质 | |
CN103530117A (zh) | 一种适配移动终端不同尺寸屏幕的方法及装置 | |
CN110675471B (zh) | 节点连线的生成方法、装置、设备及存储介质 | |
CN102707946A (zh) | 一种应用程序界面的处理方法及装置 | |
CN105430331A (zh) | 调整监控图像显示方向的方法和装置 | |
CN109621418B (zh) | 一种游戏中虚拟角色的表情调整及制作方法、装置 | |
CN104598436A (zh) | 一种三维图表的动态生成方法及装置 | |
CN112118558A (zh) | 车机屏幕显示方法、车辆及计算机可读存储介质 | |
CN118093085A (zh) | 一种软件界面分辨率自适应方法、装置、设备及存储介质 | |
CN110837368B (zh) | 一种数据处理的方法、装置及电子设备 | |
CN109522532B (zh) | 一种折线图框选范围的计算方法及装置 | |
US8803885B1 (en) | Method for evaluating spline parameters for smooth curve sampling | |
CN113034582A (zh) | 位姿优化装置及方法、电子设备及计算机可读存储介质 | |
CN114692235B (zh) | 结合用户关联数据对鞋体模型进行微调的方法 | |
CN114979592A (zh) | 图像曲面几何校正方法、装置、电子设备及存储介质 | |
CN111951348A (zh) | 确定框选区域的方法、装置及电子设备 | |
CN113010046B (zh) | 一种多窗模式下信号源的适配方法、电子设备、存储介质 | |
EP4175304A1 (en) | Video variable-speed playing method and apparatus, and electronic device and computer-readable medium | |
CN114187416A (zh) | 一种会议室预定的方法和装置 | |
CN111125281B (zh) | 地图自适应调整方法及系统、计算机设备、介质 | |
CN114880607A (zh) | 一种网页自适应方法、装置、设备、存储介质 | |
CN109324797B (zh) | 一种桌面图标生成方法、计算机可读存储介质及终端设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |