CN115878237A - 一种界面布局的配置和显示方法和电子设备 - Google Patents
一种界面布局的配置和显示方法和电子设备 Download PDFInfo
- Publication number
- CN115878237A CN115878237A CN202111158455.2A CN202111158455A CN115878237A CN 115878237 A CN115878237 A CN 115878237A CN 202111158455 A CN202111158455 A CN 202111158455A CN 115878237 A CN115878237 A CN 115878237A
- Authority
- CN
- China
- Prior art keywords
- layout
- label
- sub
- electronic device
- target
- 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
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种界面布局的配置和显示方法和电子设备,涉及界面布局开发领域,可以减少重复布局,提高界面布局的开发效率。该方法包括:电子设备首先在第一布局的第一布局文件中嵌入第一标签。其中,第一标签用于指示将第二布局嵌套进第一布局中。之后,电子设备在第一标签中嵌套第二标签。其中,第二标签用于表征第二布局的扩展内容。再之后,电子设备对第一布局文件和第二布局的第二布局文件进行解析,以确定最终布局对象。最后,电子设备对最终布局对象进行渲染,以得到最终布局并显示。
Description
技术领域
本申请涉及界面布局开发领域,尤其涉及一种界面布局的配置和显示方法和电子设备。
背景技术
目前,网络发展越来越快,用户的使用需求也越来越多。就同一系统或应用而言,其在不同环境下(使用者不同,使用区域不同等)都可能存在有不同的用户界面(userinterface,UI)布局。现有的UI布局方案中,针对每种UI布局都需要开发者开发有独立的布局文件或布局代码,但是实际中一种新的UI布局很可能只是在已有的某个UI布局的基础上做了些许改进,这也就导致现有的UI布局方案会导致开发者在开发过程中开发出大量的重复布局文件或重复布局代码,降低了开发效率。
发明内容
本申请提供一种界面布局的配置和显示方法和电子设备,可以减少重复布局,提高界面布局的开发效率。
第一方面,本申请提供一种界面布局的配置和显示方法,该方法可以应用于电子设备。该方法中,电子设备首先可以在第一布局的第一布局文件中嵌入第一标签。其中,第一标签用于指示将第二布局嵌套进第一布局中。之后,电子设备在第一标签中嵌套第二标签。其中,第二标签用于表征第二布局的扩展内容。再之后,电子设备对第一布局文件和第二布局的第二布局文件进行解析,以确定最终布局对象。最后,电子设备对最终布局对象进行渲染,以得到最终布局并显示。
基于上述技术方案,电子设备可以根据提前设定的定义规则,使用特定的标签实现在不同的整体布局(即第一布局)中嵌套通用布局(即第二布局)。之后,还可以根据需求使用特定标签对嵌套进整体布局中的通用布局进行相关扩展,以实现不同的布局方案。可见,本申请提供的技术方案中,不需要像现有技术一样完全重写布局或者使用代码实现布局的拓展,所以也就大大减少UI布局的开发过程中重复布局和重复代码的产生,提高了UI布局的开发效率。进一步的,因为本申请提供的技术方案,不需要使用代码开发UI布局,不需要调用应用程序(application programming interface,API)接口,也不会造成UI布局和代码的高度耦合,所以本申请提供的技术方案,可以大大减少UI布局开发过程中的重复代码,降低API调用,提高UI布局的性能。更近一步的,因为本申请提供的技术方案中,整体布局可以灵活引用通用布局,同时可以根据需要对通用布局进行扩展,所以最终呈现的UI布局可以即满足统一布局风格(即整体布局和原始的通用布局的风格),又可以存在个性化的定制布局(即扩展后的通用布局相比于原始通用布局拓展的部分)。
在第一方面的一种可能的设计方式中,第二标签用于表征对第二布局的增加内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局增加的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的增加内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在第一方面的一种可能的设计方式中,第二标签用于表征第二布局的删除内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局删除的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的删除内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在第一方面的一种可能的设计方式中,第二标签用于表征第二布局的修改内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局修改的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的修改内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在第一方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的增加内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第四标签,第四标签用于指示目标子布局的增加内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局的增加内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在第一方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的删除内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第五标签,第五标签用于指示目标子布局的删除内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局的删除内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在第一方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的修改内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第六标签,第六标签用于指示目标子布局的修改内容。
基于上述方案,可以使得电子设备在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局的修改内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
实际中,电子设备具体解析第一布局文件和第二布局文件以得到最终布局对象时,根据其运行的操作系统的不同,其能解析的文件的具体数据格式也是不同的,所以为了能够顺利解析得到,在本申请中,在第一方面的一种可能的设计方式中,电子设备对第一布局文件和第二布局的第二布局文件进行解析,以确定最终布局对象,包括:电子设备将第一布局文件转换为目标数据格式的第一目标对象,将第二布局文件转换为目标数据格式的第二目标对象;电子设备对第一目标对象和第二目标对象解析,以确定最终布局对象。
这样一来,电子设备可以先将第一布局文件和第二布局文件分别转换为自身能够解析的目标数据格式的第一目标对象和第二目标对象。之后,电子设备便可以顺利解析第一目标对象和第二目标对象,从而得到最终布局对象。
第二方面,本申请提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的界面布局的配置和显示方法。
第三方面,本申请提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如下步骤:
在第一布局的第一布局文件中嵌入第一标签;第一标签用于指示将第二布局嵌套进第一布局中;在第一标签中嵌套第二标签;第二标签用于表征第二布局的扩展内容;对第一布局文件和第二布局的第二布局文件进行解析,以确定最终布局对象;对最终布局对象进行渲染,以得到最终布局并显示。
在第三方面的一种可能的设计方式中,第二标签用于表征对第二布局的增加内容。
在第三方面的一种可能的设计方式中,第二标签用于表征第二布局的删除内容。
在第三方面的一种可能的设计方式中,第二标签用于表征第二布局的修改内容。
在第三方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的增加内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第四标签,第四标签用于指示目标子布局的增加内容。
在第三方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的删除内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第五标签,第五标签用于指示目标子布局的删除内容。
在第三方面的一种可能的设计方式中,第二标签用于表征在第二布局中的目标子布局的修改内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第六标签,第六标签用于指示目标子布局的修改内容。
在第三方面的一种可能的设计方式中,计算机指令被处理器执行时,使得电子设备具体执行如下步骤:将第一布局文件转换为目标数据格式的第一目标对象,将第二布局文件转换为目标数据格式的第二目标对象;对第一目标对象和第二目标对象解析,以确定最终布局对象。
第四方面,本申请提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的界面布局的配置和显示方法。
第五方面,本申请提供一种计算机程序产品,当计算机程序产品在电子设备上运行时,使得电子设备执行如第一方面及其任一种可能的设计方式提供的界面布局的配置和显示方法。
可以理解地,上述提供的第二方面、第三方面及其任一种可能的设计方式所述的电子设备,第四方面所述的计算机存储介质,第五方面所述的计算机程序产品所能达到的有益效果,可参考第一方面及其任一种可能的设计方式中的有益效果,此处不再赘述。
附图说明
图1为本申请实施例提供的布局对比示意图;
图2为本申请实施例提供的一种个人计算机的结构示意图;
图3为本申请实施例提供的一种电子设备的软件架构示意图;
图4为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图一;
图5为本申请实施例提供的一种布局嵌套场景示意图;
图6为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图二;
图7为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图三;
图8为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图四;
图9为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图五;
图10为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图六;
图11为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图七;
图12为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图八;
图13为本申请实施例提供的一种界面布局的配置和显示方法的流程示意图九;
图14为本申请实施例提供的另一种布局嵌套场景示意图;
图15为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本实施例的描述中,除非另有说明,“多个”的含义是两个或两个以上。
首先,对本申请中涉及的相关技术术语进行介绍:
继承式布局(inherited layout):具体指支持增加、删除和修改等操作的嵌套布局。
可扩展标记语言(extensible markup language,XML):是标准通用标记语言的子集。XML是一种用于标记电子文件使其具有结构性的标记语言。XML可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。
SolidXml:鸿蒙操作系统(harmonyoperating system,HarmonyOS)提供的xml解析对象。
界面布局(interface layout):指通过xml等标记语言进行编码的布局开发方式,区别于代码实现的开发方式。
样式:本申请中,样式指某一控件或布局的配置项的封装。控件或布局可通过配置项的定义来实现想要的视觉效果。因而,用户可根据控件或布局的视觉风格设计,将该控件或布局所支持的某些配置项进行定义,将这些定义了的配置项封装为该控件或布局的样式。在使用或开发某控件或布局时,若所需实现的视觉效果与之前定义的样式对应的控件或布局相同,可以直接配置或使用已封装的样式,而不需再重新定义该控件或布局中相应的配置项。
现有的UI布局方案中,针对每种UI布局都需要开发者开发独立的布局文件或布局代码。但是,实际中一种新的UI布局很可能只是在已有的某个UI布局的基础上做了些许改进。例如,以图1中(a)所示的UI布局1是已有的布局,图1中(b)所示的UI布局2是新的UI布局为例。可以看出,UI布局2和UI布局1的区别仅在于:UI布局2中的子布局21中被一张图片填充,而UI布局1中相同位置的子布局11则为纯黑色填充。UI布局2和UI布局1其余的内容完全相同。因此,采用现有的UI布局方案,开发者在开发UI布局的过程中需要开发出大量的重复布局或重复代码,UI布局的开发效率不高。
基于上述问题,现有技术中存在以下三种UI布局方案:
第一种方案,安卓TM支持的xml布局嵌套:
(1)<include>布局。
<include>布局支持将多个整体布局中相同的局部布局抽离并定义成一个通用布局,通过<include>的方式分别嵌套到每个整体布局中,从而可以避免针对多个整体布局中相同的局部布局的重复定义或者重复代码。
需要说明的是,在本申请中,整体布局和通用布局是一对相对的概念,通用布局是嵌套进整体布局中的布局。实际中任一个布局都可以作为整体布局,任一个布局也都可以作为通用布局。本申请后续实施例中提到的通用布局(例如第二布局)在其他可行的实现方式中也可以作为整体布局使用,本申请后续实施例中提到的整体布局(例如第一布局)在其他可行的实现方式中也可以作为通用布局使用。具体这两个定义如何使用,需要根据实际需求而定,本申请对此不做具体限制。
(2)<merge>布局。
<merge>布局对<include>布局方式的嵌套层级进行了优化,用于减少无效布局嵌套,支持直接将待嵌入布局的子元素添加到父布局中。
可以看出,第一种方案中的两种布局方式中提供了定义通用布局,以减少局部布局重复定义或者重复代码的问题。但是,如果某个通用布局中的局部布局内容需要更改,要么需要重新定义整个通用布局进而产生重复布局;要么需要通过代码编程实现通用布局中局部布局内容的修改。但是,这样则会使得通用布局的布局文件与代码逻辑耦合度增高,不利于后续应用。
第二种方案,安卓TM支持的样式继承布局方案:
开发人员在安卓的开发环境下可首先根据需要设置通用样式,该通用样式中可以封装有开发人员设置好的针对某类控件或子布局的配置参数(例如布局的子布局的属性的值)。之后,开发人员在开发UI布局时便可以直接在UI布局中调用该通用样式,以使得UI布局中的某类控件或子布局的属性匹配通用样式的设置。
可以看出,第二种方案定义的通用样式,可以在一定程度上让不同的UI布局通过调用同一通用样式,实现某类控件或子布局同样的配置,从而减少了通用样式对应的这一部分布局的重复产生/定义。但是,通用样式只能使用于其对应的控件或子布局,不能应用到整体布局中。对于一个UI布局而言,则需要定义很多样式以满足不同控件的需要,开发效率也不高。
第三种方案,安卓支持通过代码编程实现布局的继承,即新的布局可以继承旧的布局中的一些配置。
可以看出,虽然可以起到减少UI布局开发过程中重复布局或重复代码的出现,但是需要开发者具备一定的编码设计能力,并了解布局继承关系与实现。另外,用代码实现的UI布局和代码耦合严重且相关业务必须在运行态执行,不方便后续使用。
综上可以看出,现有的技术方案并不能很好的解决UI布局时出现的重复布局或重复代码的问题。
基于此,本申请提供一种界面布局的配置和显示方法,该方法可以应用于可以进行UI布局开发的电子设备中。具体可以应用在开发人员利用该电子设备开发UI布局的场景中。
在该方法中,电子设备可以根据提前设定的定义规则,使用特定的标签实现在不同的整体布局中嵌套通用布局,并可以根据需求使用特定标签对嵌套进整体布局中的通用布局进行相关扩展。本申请提供的技术方案中,通用布局可以被不同的整体布局引用,从而产生不同的布局方案。同时,通用布局在嵌入某个整体布局后还可以根据需要扩展,不需要像现有技术一样重新定义布局,所以本申请提供的技术方案可以大大减少UI布局的开发过程中重复布局的产生。
示例性的,本申请实施例中的电子设备可以是手机、平板电脑、穿戴式设备(如智能手表或智能手环)、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备等能够进行UI布局开发的设备,本申请实施例对该电子设备的具体形态不作特殊限制。
在一些实施例中,该电子设备运行的操作系统可以是安卓系统、鸿蒙系统等。
以电子设备为个人计算机(personal computer,PC)为例,参照图2所示,该个人计算机01可以包括处理器11、存储器12、显示屏13、Wi-Fi装置14、蓝牙装置15、音频电路16、麦克风16A、扬声器16B、电源系统17、外设接口18、传感器模块19等部件。这些部件可通过一根或多根通信总线或信号线(图2中未示出)进行通信。本领域技术人员可以理解,图2中示出的硬件结构并不构成对个人计算机01的限定,个人计算机01可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中,处理器11是个人计算机01的控制中心,利用各种接口和线路连接个人计算机01的各个部分,通过运行或执行存储在存储器12内的应用程序,以及调用存储在存储器12内的数据和指令,执行个人计算机01的各种功能和处理数据。在一些实施例中,处理器11可包括一个或多个处理单元;处理器11还可以集成应用处理器和调制解调处理器;其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器11中。
在本申请其他一些实施例中,上述处理器11还可以包括AI芯片。AI芯片的学习和处理能力包括图像理解能力、自然语言理解能力和语音识别能力等。AI芯片可以使得个人计算机01具有更好的性能、更长的续航时间以及更好的安全性和隐私性。例如,若个人计算机01通过云端处理数据则需要数据上传处理后再返回结果,在现有技术条件下效率很低。若个人计算机01本地端具有较强的AI学习能力,那么个人计算机01就不需要把数据上传到云端,直接在本地端处理即可,因而可以在提高处理效率的同时,提高数据的安全性和隐私性。
存储器12用于存储应用程序以及数据,处理器11通过运行存储在存储器12的应用程序以及数据,执行个人计算机01的各种功能以及数据处理。存储器12主要包括存储程序区以及存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等);存储数据区可以存储根据使用个人计算机01时所创建的数据(比如音频数据、视频数据等)。此外,存储器12可以包括高速随机存取存储器,还可以包括非易失存储器,例如磁盘存储器件、闪存器件或其他非易失性固态存储器件等。存储器12可以存储各种操作系统,例如苹果公司所开发的操作系统,微软公司所开发的操作系统等。示例性地,存储器12中还可以存储与本申请实施例相关的拨号软件等,存储器12中还存储可与本申请实施例注册登录相关的信息,例如用户账号信息。
显示屏13用于显示图像,视频等。该显示屏可以是触摸屏。在一些实施例中,个人计算机01可以包括1个或N个显示屏13,N为大于1的正整数。个人计算机01通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏13和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器11可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
Wi-Fi装置14,用于为个人计算机01提供遵循Wi-Fi相关标准协议的网络接入。个人计算机01可以通过Wi-Fi装置14接入到Wi-Fi接入点,进而帮助用户收发电子邮件、浏览网页和访问流媒体等,它为用户提供了无线的宽带互联网访问。个人计算机01还可以通过Wi-Fi装置和Wi-Fi接入点与连接到该Wi-Fi接入点的终端设备建立Wi-Fi连接,用于相互传输数据。在其他一些实施例中,该Wi-Fi装置14也可以作为Wi-Fi无线接入点,可以为其他电子设备提供Wi-Fi网络接入。
蓝牙装置15,用于实现个人计算机01与其他短距离的电子设备(例如终端、智能手表等)之间的数据交换。本申请实施例中的蓝牙装置可以是集成电路或者蓝牙芯片等。
音频电路16、扬声器16B、麦克风16A可提供用户与个人计算机01之间的音频接口。音频电路16可将接收到的音频数据转换后的电信号,传输到扬声器16B,由扬声器16B换为声音信号输出;另一方面,麦克风16A将收集的声音信号转换为电信号,由音频电路16接收后转换为音频数据,再通过互联网或者Wi-Fi网络或者蓝牙将音频数据发送给终端,或者将音频数据输出至存储器12以便进一步处理。
电源系统17用于给个人计算机01的各个部件充电。电源系统17可以包括有电池和电源管理模块,电池可以通过电源管理芯片与处理器11逻辑相连,从而通过电源系统17实现管理充电、放电、以及功耗管理等功能。
外设接口18,用于为外部的输入/输出设备(例如键盘、鼠标、外接显示器、外部存储器、用户识别模块卡等)提供各种接口。例如通过通用串行总线接口与鼠标连接,实现接收用户通过鼠标实施的相关操作的目的。又例如,通过外部存储器接口与外部存储器连接,例如Micro SD卡,实现扩展个人计算机01的存储能力。外设接口110可以被用来将上述外部的输入/输出外围设备耦接到处理器11和存储器12。
传感器模块19可以包括至少一种传感器。例如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器。其中,环境光传感器可根据环境光线的明暗来调节显示屏13的亮度。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别个人计算机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等。当然,根据实际需求,传感器模块还可以包括其他任意可行的传感器。
尽管图2未示出,个人计算机01还可以包括摄像头,例如前置摄像头、后置摄像头,其中,前置摄像头可以用于捕捉人脸特征信息,处理器11可以对该人脸特征信息进行人脸识别,进而进行后续处理。个人计算机01还可以包括闪光灯、微型投影装置、近场通信(nearfield communication,NFC)装置等,在此不予赘述。
为实现本申请提供的界面布局的配置和显示方法,参照图3所示,该方法所应用的电子设备的软件结构可以包括有工具层、应用业务层、framework框架层和驱动层。
其中,应用业务层可以部署有多种应用,根据电子设备的操作系统的不同,可以是与安卓系统对应的安卓应用,也可以是与鸿蒙系统对应的鸿蒙应用,还可以是由安卓应用转换得到的鸿蒙应用或者由鸿蒙应用转换得到的安卓应用,还可以是能够适用多种操作系统的跨平台应用。这里的应用可以包括有系统应用和第三方应用。其中,系统应用为该电子设备的生产厂商自主研发并安装在该电子设备上的出厂应用,例如电话应用、短信应用等;第三方应用则为其他应用厂商的应用,第三方应用可以是该电子设备出厂后其生产厂商依据与其他应用厂商的合作协议安装,也可以是电子设备的使用者下载安装的。
在本申请中,应用业务层的应用可以根据设定好的规则和用户的输入指令定义一个布局。
工具层可以部署有资源解析器。本申请中,资源解析器主要用于将应用定义的布局的布局文件转换为框架层可以进行解析的文件对象。例如,若应用业务层定义得到的布局文件是xml文件(即用xml语言组成的文件),而框架层可解析的文件为java语言组成的solidxml对象,则资源解析器可以将xml文件转换成solidxml对象提供给框架层。
架构层可以部署有布局解析器。布局解析器主要用于对资源解析器提供solidxml对象进行解析。具体可以解析得到应用业务层定义的标签(即标签解析),以及具体布局的定义内容(即内容解析),从而知晓应用业务层定义的通用布局和整体布局之间的嵌套关系,以及通用布局具体的扩展内容。之后则可以根据通用布局和整体布局之间的嵌套关系,以及通用布局具体的扩展内容,构造出最终的解析结果(即解析结果适配),即最终开发人员需要的UI布局对象。
驱动层可以部署有图形渲染引擎。图形渲染引擎主要用于对结构层得到的UI布局对象进行图像渲染,最终提供给电子设备的显示器可以显示的UI布局。
当然,实际中电子设备的软件结构还可以包括其他任意可行的内容,本申请对此不做具体限制。
基于前述的电子设备的结构及其软件架构,以电子设备为个人计算机01为例,参照图4所示,本申请实施例提供的界面布局的配置和显示方法可以包括S401-S406:
S401、个人计算机01定义第一布局,得到第一布局文件。
其中,第一布局可以为前述实施例提到的整体布局。
一种可实现的方式中,在开发人员对目标应用的UI布局进行开发之前,目标应用已经被配置好可以根据设定好的属性参数定义第一布局这一功能。开发人员在后续开发中,会以该第一布局作为整体布局进行布局开发。示例性的,参照图5所示,第一布局51在被显示器显示时可以为一个未填充任何内容的矩形框,在定义该第一布局时,可以规定该矩形框的长和宽等相关属性。
S402、个人计算机01定义第二布局,得到第二布局文件。
其中,第二布局相当于前述实施例提到的通用布局,主要用于嵌套进第一布局中。这样一来,一旦定义了某种能够适用多种使用场景的第二布局时,便可以随时将该第二布局嵌入到相应的第一布局中,完成布局开发。因为通用布局可以被反复利用,所以也就减少了现有的布局开发过程中重复布局的产生。
第一布局的定义和第一布局定义的过程类似,此处不再赘述。示例性的,参照图5所示,第二布局52在被显示器显示时可以为填充有小网格填充的矩形框。第二布局52可以小于第一布局51。具体可以表现为:第二布局52的矩形框的长小于等于表示第一布局51的矩形框的长,第二布局52的矩形框的宽小于等于表示第一布局51的矩形框的宽。
S403、个人计算机01在第一布局文件中嵌入第一标签;第一标签用于指示将第二布局嵌套进第一布局中。
一种可实现的方式中,个人计算机02可以接收用户通过外设输入设备(例如键盘)输入的操作指令后,执行S403。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,demo_layout_1为第二布局的标识码。“<join…</join>”即为第一标签。
示例性的,在第一布局文件中嵌入该第一标签后,后续个人计算机01在对第一布局文件和第二布局文件解析后显示的第三布局53可以如图5中所示。该第三布局53由第二布局52嵌套进对应第一布局51中形成。
基于上述S401-S403对应的技术方案,可以起到将定义好的第二布局嵌入到任一个第一布局中,可以在一定程度上减少针对该第二布局的重复布局的产生。现有技术中,已经存在将通用布局嵌入到整体布局,以减少针对通用布局的局部布局的重复定义的技术方案,所以上述S401-S403对应的技术依然可以起到现有技术中类似方案的效果。相比而言,在本申请实施例中,是使用第一标签完成第一布局和第二布局的嵌套,而标记语言中的标签是支持嵌套的。因此,在S401-S403对应的技术方案的基础上,本申请实施例提供的技术方案还可以在第一标签中嵌套用于表征第二布局的扩展内容的第二标签。这样一来,便可以第一布局和第二布局嵌套的基础上提高第二布局的可扩展性,进而可以大大减少布局开发过程中因为第二布局扩展性不足所产生的重复布局,而这一效果是现有技术无法达到的。
基于此,本申请实施例提供的技术方案中,在S403之后还包括S404。
S404、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征对嵌入到第一布局的第二布局的扩展内容。
其中,该扩展内容可以包括以下至少一项:增加第二布局的第一内容(属性的值、子布局)、删除第二布局的第一内容、修改第二布局的第一内容、增加第二布局的子布局的第二内容(属性的值、孙布局)、修改第二布局的子布局的第二内容、删除第二布局的子布局的第二内容。在本申请中,子布局也可以被称为控件,孙布局即子布局的子布局或者孙布局为子控件的子控件。
结合图3所示软件架构及其相关表述可知,本申请实施例中,S401-S404具体可以由个人计算机01的应用业务层实施。
S405、个人计算机01对第一布局文件和第二布局文件进行解析,以确定最终布局对象。
其中,个人计算机01通过对第一布局文件和第二布局文件的解析可以获取第一布局和第二布局的具体内容(例如各个属性的值、各个子布局的内容)。在解析第一布局文件时,除了可以确定第一布局本身的具体情况(各个属性的值、各个子布局的内容)以外,还可以根据其中的标签内容确定是第二布局需要嵌套进第一布局中,以及需要嵌套进第一布局中的第二布局的具体扩展内容。之后,个人计算机便可以根据从第一布局文件中解析得到的第二布局和第一布局的关联以及第二布局的扩展内容,将第一布局和第二布局结合得到最终布局对象。
结合图3所示软件架构及其相关表述可知,本申请实施例中,S405具体可以由个人计算机01的工具层和架构层实施。
一种可实现的方式中,以个人计算机01的软件架构为图3所示的架构为例。具体解析得到最终布局对象的是架构层,而架构层能够解析的内容和应用业务层定义的布局的布局文件的数据格式是不同的。为了使得个人计算机01能够顺利解析得到最终布局对象,结合图4,参照图6所示,S405具体可以包括S4051和S4052:
S4051、个人计算机01将第一布局文件转换为目标数据格式的第一目标对象,将第二布局文件转换为目标数据格式的第二目标对象。
示例性的,目标数据格式可以为java格式。以鸿蒙系统为例,这里的由布局文件转换的目标数据格式的对象(例如第一目标对象或第二目标对象)可以被称为solidxml对象。
具体的,结合图3所示软件架构及其相关表述可知,本申请实施例中,S4051具体可以由个人计算机01的工具层中的资源解析器实施。
S4052、个人计算机01对第一目标对象和第二目标对象进行解析,以确定最终布局对象。
S4052主要由个人计算机01的软件架构中的架构层部署的布局解析器实现,具体实现过程可以参照前述针对图3中架构层的布局解析器的相关表述,此处不再赘述。
基于S4051和S4052对应的技术方案,个人计算机01便可以顺利对第一布局文件和第二布局文件进行解析,从而得到最终布局对象。
S406、个人计算机01对最终布局对象进行渲染得到最终布局并显示。
示例性的,以第一布局和第二布局为图5中所示的第一布局和第二布局为例,参照图5所示,最终布局可以为图5所示的布局54。其中,布局54是在第三布局53的基础上,对与第二布局52进行一定扩展(例如将小网格改为斜杠)后得到的。
基于本申请实施例提供的技术方案,个人计算机01可以根据提前设定的定义规则,使用特定的标签实现在不同的整体布局(即第一布局)中嵌套通用布局(即第二布局)。之后,还可以根据需求使用特定标签对嵌套进整体布局中的通用布局进行相关扩展,以实现不同的布局方案。可见,本申请提供的技术方案中,不需要像现有技术一样完全重写布局或者使用代码实现布局的拓展,所以也就大大减少UI布局的开发过程中重复布局和重复代码的产生,提高了UI布局的开发效率。进一步的,因为本申请提供的技术方案,不需要使用代码开发UI布局,不需要调用应用程序(application programming interface,API)接口,也不会造成UI布局和代码的高度耦合,所以本申请提供的技术方案,可以大大减少UI布局开发过程中的重复代码,降低API调用,提高UI布局的性能。更近一步的,因为本申请提供的技术方案中,整体布局可以灵活引用通用布局,同时可以根据需要对通用布局进行扩展,所以最终呈现的UI布局可以即满足统一布局风格(即整体布局和原始的通用布局的风格),又可以存在个性化的定制布局(即扩展后的通用布局相比于原始通用布局拓展的部分)。
在一些实施例中,若需要增加第二布局中的一些配置,则结合图4,参照图7所示,S404具体可以为S404A:
S404A、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征对嵌入到第一布局的第二布局的增加内容。
其中,增加内容可以为增加第一属性的值,和/或增加第一子布局。这里的第二布局的增加内容即为前述实施例中提到的增加第二布局的第一内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404A。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,attr_name为第二布局的一个属性(即前述提到的第一属性),attr_value为给attr_name增加的属性值。在这种情况下,attr_name这一属性为应用在定义第二布局时未定义属性值的属性。<第一子布局.../>为给第二布局增加的第一子布局的具体内容。上述操作指令中的“<add…</add>”为第二标签。
上述操作指令具体可以指示将第二布局中的attr_name这一属性设置为attr_value,并在第二布局中增加第一子布局。
基于S404A对应的技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局增加的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的增加内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在一些实施例中,若需要删除第二布局中的一些配置,则结合图4,参照图8所示,S404具体可以为S404B:
S404B、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征对嵌入到第一布局的第二布局的删除内容。
其中,删除内容可以为删除第二属性,和/或删除第二子布局。这里的第二布局的删除内容即为前述实施例中提到的删除第二布局的第一内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404B。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,attr id为属性id,attr_name为第二布局的一个属性(即前述提到的第二属性)的id,component id为子布局id,remove_comp_id为第二布局中的一个子布局(即前述提到的第二子布局)的id。上述操作指令中的“<remove>…</remove>”为第二标签。
上述操作指令具体可以指示删除第二布局中的attr_name这一属性以及remove_comp_id这一子布局。
基于S404B对应的技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局删除的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的删除内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在一些实施例中,若需要修改第二布局中的一些配置,则结合图4,参照图9所示,S404具体可以为S404C:
S404C、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征对嵌入到第一布局的第二布局的修改内容。
其中,修改内容可以为修改第三属性的值,和/或修改第三子布局。这里的第二布局的修改内容即为前述实施例中提到的修改第二布局的第一内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404C。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,attr_name为第二布局的一个属性(即前述提到的第三属性),new_value为给attr_name修改的属性值。在这种情况下,attr_name这一属性在定义第二布局时已给定了属性值,或者在S404C之前已经给定了属性值。<第三子布局.../>为第二布局的第三子布局的具体修改内容。上述操作指令中的“<update…</update>”为第二标签。
上述操作指令具体可以指示将第二布局中的attr_name这一属性的属性值修改为new_value,并修改第二布局中的第三子布局。
基于S404C对应的技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局修改的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的修改内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在一些实施例中,若需要增加第二布局中子布局的一些配置,则结合图4,参照图10所示,S404具体可以为S404D:
S404D、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征在第二布局中的目标子布局的增加内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第四标签,第四标签用于指示目标子布局的增加内容。
其中,目标子布局的增加内容可以为增加目标子布局的第四属性的值,和/或为目标子布局增加第一孙布局。这里的目标子布局的增加内容即为前述实施例中提到的增加第二布局的子布局的第二内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404D。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,update_comp_id为第二布局的一个子布局(即前述提到的目标子布局)的id,attr_name为目标子布局的一个属性(即前述提到的第四属性),attr_value为给attr_name增加的属性值。在这种情况下,attr_name这一属性在定义第二布局时未给定属性值。<第一孙布局.../>为目标子布局增加的第一孙布局的具体内容。上述操作指令中的“<update…</update>”为第二标签,“<component…</component>”为第三标签,“<add…</add>”为第四标签。
上述操作指令具体可以指示将第二布局中目标子布局的attr_name这一属性的属性值设置为attr_value,并增加第一孙布局。
基于S404D对应的技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的增加内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局的增加内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
需要说明的是,为了方便在使用标签定义第二布局的子布局,本申请实施例中,在S402中定义第二布局时,会给第二布局中的每个子布局都设置有一个唯一的id。该id具体可以为其对应的子布局的名称或其他任意可行参数。后续需要用到第二布局中子布局的id同理。
在一些实施例中,若需要删除第二布局中子布局的一些配置,则结合图4,参照图11所示,S404具体可以为S404E:
S404E、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征在第二布局中的目标子布局的删除内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第五标签,第五标签用于指示目标子布局的删除内容。
其中,目标子布局的删除内容可以为删除目标子布局的第五属性,和/或删除目标子布局中第二孙布局。这里的目标子布局的删除内容即为前述实施例中提到的删除第二布局的子布局的第二内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404E。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,以目标子布局删除的内容可以为删除目标子布局的第五属性为例,该操作指令可以为:
其中,component id为子布局id,update_comp_id为第二布局中某个子布局(即前述提到的目标子布局)的id。attr id为属性id,attr_name为目标子布局的一个属性(即前述提到的第五属性)的id,component id为目标子布局的孙布局id,remove_comp_id为目标子布局的一个孙布局(即前述提到的第二孙布局)的id。上述操作指令中的“<update…</update>”为第二标签,“<component id=“$id=update_comp_id”…</component>”为第三标签,“<remove>…</remove>”为第五标签。
上述操作指令具体可以指示删除目标子布局中的attr_name这一属性以及删除remove_comp_id这一孙布局。
基于S404E对应的技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的删除内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局的删除内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
在一些实施例中,若需要修改第二布局中子布局的一些配置,则结合图4,参照图12所示,S404具体可以为S404F:
S404F、个人计算机01在嵌入到第一布局文件中的第一标签中嵌套第二标签;第二标签用于表征在第二布局中的目标子布局的修改内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第六标签,第六标签用于指示目标子布局的修改内容。
其中,目标子布局的修改内容可以为修改目标子布局的第六属性的值,和/或修改目标子布局中第三孙布局。这里的目标子布局的修改内容即为前述实施例中提到的修改第二布局的子布局的第二内容。
一种可实现的方式中,个人计算机02可以在接收到用户通过个人计算机01的外设输入设备(例如键盘)输入的操作指令的情况下完成S403和S404F。其中,该操作指令可以为使用标记语言(可以为任意可行的标记语言)编写的指令。示例性的,该操作指令可以为:
其中,update_comp_id为第二布局的一个子布局(即前述提到的目标子布局)的id,attr_name为目标子布局的一个属性(即前述提到的第六属性),new_value为attr_name修改后的属性值。在这种情况下,attr_name这一属性在定义第二布局时已给定了属性值,或者在S404F之前已经给定了属性值。<第三孙布局.../>为第二布局的第三孙布局的具体修改内容。上述操作指令中的“<update……>……</component>……</update>”为第二标签,“<component…</component>”为第三标签,“<update ohos:…<第三孙布局.../>……</update>”为第六标签。
上述操作指令具体可以指示将目标子布局中的attr_name这一属性的值修改为new_value,并修改第三孙布局。
基于S404F技术方案,可以使得个人计算机01在第一布局文件中使用第二标签表征对第二布局中第三标签指示的目标子布局增加第四标签指示的内容。这样一来,最终解析得到的最终布局中的第二布局除了第二标签表征的针对目标子布局修改的内容以外,其余完全是原始的第二布局的内容,原始的第二布局的布局文件也并未被改变,实现了以一种继承式布局的方式拓展嵌套在第一布局中的第二布局的目的,减少了重复布局。
前述实施例中的方案,是先在第一布局文件中嵌入第一标签,然后再在第一标签中嵌套第二标签,以实现如图5所示的先布局嵌套(第二布局嵌套进第一布局中)后修改布局内容(修改第二布局的内容)的布局方案。在另一些实施例中,还可以先在第二布局文件中嵌入第二标签,然后在第一布局中嵌入第一标签,以使实现现布局修改再布局嵌套的布局方案。基于此,结合图4,参照图13所示,本申请实施例提供的界面布局的配置和显示方法中S403可以被替换为S403',S404可以被替换为S404':
S403'、个人计算机01在第二布局文件中嵌入第二标签;第二标签用于指示第二布局的扩展内容。
其中,扩展内容具体可以参照S404后的相关表述,此处不再赘述。
示例性的,以第一布局和第二布局为图5中所示的第一布局51和第二布局52为例,在第二布局文件中嵌入该第二标签后,后续个人计算机01在对嵌入第二标签的第二布局文件解析后显示的扩展后的第二布局55可以如图14中所示,扩展后的第二布局55由对应第二布局的矩形框52进行一定扩展(例如将小网格改为斜杠)后形成。
第二标签在针对不同扩展内容的具体实例,可以参照前述实施例中针对图7-图12的相关表述中的对应内容,此处不再赘述。
S404'、个人计算机01在第一布局文件中嵌入第一标签;第一标签用于指示将第二布局嵌套进第一布局中。
示例性的,在第一布局文件中嵌入该第一标签后,后续个人计算机01在对第一布局文件和第二布局文件解析后显示的最终布局可以如图14中所示。该最终布局56由对应扩展后的第二布局55嵌套进对应第一布局51中形成。
基于上述S403'和S404'对应的技术方案,个人计算机01可以在需要对某个通用布局(即第二布局)进行修改时,不需要重新布局或者使用代码扩展布局,而是使用定义好的特定标签在继承了原有的通用布局的大多数配置的基础上简单快捷的完成通用布局的拓展。之后,便可以根据需要将扩展后的通用布局嵌套进任一整体布局(即第一布局)。整体上,避免了现有技术中重复布局或者使用代码拓展布局的缺陷,大大减少UI布局的开发过程中重复布局和重复代码的产生,提高了UI布局的开发效率。进一步的,因为本申请提供的技术方案,不需要使用代码开发UI布局,不需要调用应用程序(application programminginterface,API)接口,也不会造成UI布局和代码的高度耦合,所以本申请提供的技术方案,可以大大减少UI布局开发过程中的重复代码,降低API调用,提高UI布局的性能。更近一步的,因为本申请提供的技术方案中,可以根据需要随时对通用布局进行快捷的扩展,以供整体布局引用,所以最终呈现的UI布局可以即满足统一布局风格(即整体布局和原始的通用布局的风格),又可以存在个性化的定制布局(即扩展后的通用布局相比于原始通用布局拓展的部分)。
可以理解的是,上述电子设备(上述以电子设备为个人计算机01为例)等为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请实施例的范围。
本申请实施例可以根据上述方法示例对上述电子设备进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
在采用对应各个功能划分各个功能模块的情况下,参照图15所示,本申请实施例提供了一种电子设备012,包括:处理模块121、解析模块122和显示模块123。
其中,处理模块121具体用于支持电子设备012执行前述实施例中的S401、S402、S403、S404(包括S404A、S404B、S404C、S404D、S404E和S404F)、S403'和S404'。解析模块122具体用于支持电子设备012执行前述实施例中的S405(包括S4051和S4052)。显示模块具体用于支持电子设备0112之前前述实施例中的S406。
关于上述实施例中的电子设备,其中各个模块执行操作的具体方式已经在前述实施例中进行了详细描述,此处不再具体阐述。其相关的有益效果也可参照前述的相关有益效果,此处不再赘述。
本申请实施例还提供一种电子设备,该电子设备包括显示屏、存储器和一个或多个处理器;显示屏、存储器与处理器耦合;其中,存储器中存储有计算机程序代码,计算机程序代码包括计算机指令,当计算机指令被处理器执行时,使得电子设备执行如前述实施例提供的界面布局的配置和显示方法。该电子设备若为个人计算机,则其具体结构可参照图2中所示的个人计算机01的结构。
具体的,当计算机指令被处理器执行时,使得电子设备执行如下步骤:
在第一布局的第一布局文件中嵌入第一标签;第一标签用于指示将第二布局嵌套进第一布局中;在第一标签中嵌套第二标签;第二标签用于表征第二布局的扩展内容;对第一布局文件和第二布局的第二布局文件进行解析,以确定最终布局对象;对最终布局对象进行渲染,以得到最终布局并显示。
可选的,第二标签用于表征对第二布局的增加内容。
可选的,第二标签用于表征第二布局的删除内容。
可选的,第二标签用于表征第二布局的修改内容。
可选的,第二标签用于表征在第二布局中的目标子布局的增加内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第四标签,第四标签用于指示目标子布局的增加内容。
可选的,第二标签用于表征在第二布局中的目标子布局的删除内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第五标签,第五标签用于指示目标子布局的删除内容。
可选的,第二标签用于表征在第二布局中的目标子布局的修改内容,目标子布局是待扩展的子布局;第二标签中嵌套有第三标签,第三标签用于指示目标子布局;第三标签中嵌套有第六标签,第六标签用于指示目标子布局的修改内容。
可选的,计算机指令被处理器执行时,使得电子设备具体执行如下步骤:将第一布局文件转换为目标数据格式的第一目标对象,将第二布局文件转换为目标数据格式的第二目标对象;对第一目标对象和第二目标对象解析,以确定最终布局对象。
关于上述实施例中的电子设备,其中各个装置执行操作的具体方式已经在前述实施例中进行了详细描述,此处不再具体阐述。其相关的有益效果也可参照前述的相关有益效果,此处不再赘述。
本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括计算机指令,当所述计算机指令在电子设备上运行时,使得电子设备执行如前述实施例提供的界面布局的配置和显示方法。
本申请实施例还提供一种计算机程序产品,当该计算机程序产品在电子设备上运行时,使得电子设备执行如前述实施例提供的界面布局的配置和显示方法。
通过以上实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (18)
1.一种界面布局的配置和显示方法,应用于电子设备,其特征在于,所述方法包括:
所述电子设备在第一布局的第一布局文件中嵌入第一标签;所述第一标签用于指示将第二布局嵌套进所述第一布局中;
所述电子设备在所述第一标签中嵌套第二标签;所述第二标签用于表征所述第二布局的扩展内容;
所述电子设备对所述第一布局文件和所述第二布局的第二布局文件进行解析,以确定最终布局对象;
所述电子设备对所述最终布局对象进行渲染,以得到最终布局并显示。
2.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征对所述第二布局的增加内容。
3.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征所述第二布局的删除内容。
4.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征所述第二布局的修改内容。
5.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的增加内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,所述第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第四标签,所述第四标签用于指示所述目标子布局的增加内容。
6.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的删除内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,所述第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第五标签,所述第五标签用于指示所述目标子布局的删除内容。
7.根据权利要求1所述的方法,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的修改内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第六标签,所述第六标签用于指示所述目标子布局的修改内容。
8.根据权利要求1-7中任一项所述的方法,其特征在于,所述电子设备对所述第一布局文件和所述第二布局的第二布局文件进行解析,以确定最终布局对象,包括:
所述电子设备将所述第一布局文件转换为目标数据格式的第一目标对象,将所述第二布局文件转换为目标数据格式的第二目标对象;
所述电子设备对所述第一目标对象和所述第二目标对象解析,以确定所述最终布局对象。
9.一种电子设备,其特征在于,包括:显示屏、存储器和一个或多个处理器;所述显示屏、所述存储器与所述处理器耦合;其中,所述存储器中存储有计算机程序代码,所述计算机程序代码包括计算机指令;当所述计算机指令被所述处理器执行时,使得所述电子设备执行如下步骤:
在第一布局的第一布局文件中嵌入第一标签;所述第一标签用于指示将第二布局嵌套进所述第一布局中;
在所述第一标签中嵌套第二标签;所述第二标签用于表征所述第二布局的扩展内容;
对所述第一布局文件和所述第二布局的第二布局文件进行解析,以确定最终布局对象;
对所述最终布局对象进行渲染,以得到最终布局并显示。
10.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征对所述第二布局的增加内容。
11.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征所述第二布局的删除内容。
12.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征所述第二布局的修改内容。
13.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的增加内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,所述第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第四标签,所述第四标签用于指示所述目标子布局的增加内容。
14.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的删除内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,所述第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第五标签,所述第五标签用于指示所述目标子布局的删除内容。
15.根据权利要求9所述的电子设备,其特征在于,所述第二标签用于表征在所述第二布局中的目标子布局的修改内容,所述目标子布局是待扩展的子布局;
所述第二标签中嵌套有第三标签,第三标签用于指示所述目标子布局;
所述第三标签中嵌套有第六标签,所述第六标签用于指示所述目标子布局的修改内容。
16.根据权利要求10-15任一项所述的电子设备,其特征在于,所述计算机指令被所述处理器执行时,使得所述电子设备具体执行如下步骤:
将所述第一布局文件转换为目标数据格式的第一目标对象,将所述第二布局文件转换为目标数据格式的第二目标对象;
对所述第一目标对象和所述第二目标对象解析,以确定所述最终布局对象。
17.一种计算机可读存储介质,其特征在于,包括计算机指令,当所述计算机指令在电子设备上运行时,使得所述电子设备执行如权利要求1-8中任一项所述的界面布局的配置和显示方法。
18.一种计算机程序产品,其特征在于,所述计算机程序产品包括指令,当所述计算机程序产品在电子设备上运行时,使得所述电子设备执行如权利要求1-8任一项所述的界面布局的配置和显示方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158455.2A CN115878237A (zh) | 2021-09-28 | 2021-09-28 | 一种界面布局的配置和显示方法和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111158455.2A CN115878237A (zh) | 2021-09-28 | 2021-09-28 | 一种界面布局的配置和显示方法和电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115878237A true CN115878237A (zh) | 2023-03-31 |
Family
ID=85756621
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111158455.2A Pending CN115878237A (zh) | 2021-09-28 | 2021-09-28 | 一种界面布局的配置和显示方法和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115878237A (zh) |
-
2021
- 2021-09-28 CN CN202111158455.2A patent/CN115878237A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109358936B (zh) | 信息处理方法、装置、存储介质、电子设备及系统 | |
US20220241689A1 (en) | Game Character Rendering Method And Apparatus, Electronic Device, And Computer-Readable Medium | |
CN107704245A (zh) | 协议接入方法、装置及计算机可读存储介质 | |
CN111309273B (zh) | Edid数据生成方法、显示设备及计算机可读存储介质 | |
US20240144625A1 (en) | Data processing method and apparatus, and electronic device and storage medium | |
CN112116690A (zh) | 视频特效生成方法、装置及终端 | |
CN112506878A (zh) | 文件处理方法、装置、存储介质及电子设备 | |
CN106293658B (zh) | 一种界面组件生成方法及其设备 | |
CN110851211A (zh) | 用于显示应用信息的方法、装置、电子设备和介质 | |
US10671366B2 (en) | App program running method and apparatus | |
CN112807695A (zh) | 游戏场景生成方法和装置、可读存储介质、电子设备 | |
CN110868471B (zh) | 设备构建方法、装置及存储介质 | |
CN114398086A (zh) | 驱动配置管理方法、装置、介质、设备及系统 | |
US20230290095A1 (en) | User-interface-framework based processing method, apparatus, device, and medium | |
CN115878237A (zh) | 一种界面布局的配置和显示方法和电子设备 | |
CN110765610A (zh) | Pdm集成方法、装置、计算机设备及存储介质 | |
CN114237795B (zh) | 终端界面显示方法、装置、电子设备及可读存储介质 | |
CN106383705B (zh) | 在应用瘦客户端中设置鼠标显示状态的方法及装置 | |
US11405341B1 (en) | Audience-based content optimization in a messaging system | |
US11317129B1 (en) | Targeted content distribution in a messaging system | |
CN114547604A (zh) | 一种应用检测方法、装置、存储介质及电子设备 | |
CN115686700A (zh) | 渲染方法及电子设备 | |
CN115904563A (zh) | 应用程序启动中的数据处理方法、装置和存储介质 | |
CN110855539B (zh) | 设备发现方法、装置及存储介质 | |
CN116091738B (zh) | 一种虚拟ar生成方法、系统、电子设备及存储介质 |
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 |