CN112948039A - 页面显示方法、装置、设备及存储介质 - Google Patents
页面显示方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112948039A CN112948039A CN202110213392.XA CN202110213392A CN112948039A CN 112948039 A CN112948039 A CN 112948039A CN 202110213392 A CN202110213392 A CN 202110213392A CN 112948039 A CN112948039 A CN 112948039A
- Authority
- CN
- China
- Prior art keywords
- display
- page
- component
- interface component
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本发明实施例公开了页面显示方法、装置、设备及存储介质。其中,该方法包括:检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,当前显示的第一显示页面中包含已显示的第二界面组件,基于层级配置信息和第一组件标识,确定第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,层级配置信息中包含组件标识的层级排列顺序,基于第一界面组件和目标显示层级位置显示对应的第二显示页面。本发明实施例提供的技术方案,当需要在当前显示的显示页面中增加显示界面组件时,可以利用对应的层级配置信息快速确定需要增加的界面组件的目标显示层级位置,提高页面显示效率。
Description
技术领域
本发明实施例涉及计算机技术领域,尤其涉及页面显示方法、装置、设备及存储介质。
背景技术
随着计算机技术的发展,各种终端设备中可以安装的应用程序越来越多。对于一个应用程序来说,随着其所对应的业务功能的不断迭代,应用程序中很多页面内的用户界面(User Interface,UI)组件(以下简称界面组件或组件)也越来越多,不同界面组件之间的层级关系也越来越复杂。
目前的应用程序中,开发人员通常在页面布局文件中按顺序依次编写各界面组件对应的代码,因此,编写顺序也决定了各界面组件的层级关系,一般越靠后编写的界面组件层级越高,使得层级关系在应用程序初始化时已经固定。在很多应用程序中,存在需要根据具体场景动态显示的界面组件(可称为场景组件),相当于在当前显示的页面中添加一个组件,此时,需要读取整个页面布局文件来确定该组件相对于当前已显示的界面组件的层级关系,影响显示效率。因此,现有的页面显示方案仍不够完善,需要改进。
发明内容
本发明实施例提供了页面显示方法、装置、设备及存储介质,可以优化现有的页面显示方案。
第一方面,本发明实施例提供了一种页面显示方法,该方法包括:
检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件;
基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序;
基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
第二方面,本发明实施例提供了一种页面显示装置,该装置包括:
第一组件标识获取模块,用于检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件;
目标显示层级位置确定模块,用于基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序;
页面显示模块,用于基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
第三方面,本发明实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如本发明实施例提供的页面显示方法。
第四方面,本发明实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例提供的页面显示方法。
本发明实施例中提供的页面显示方案,检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件,基于目标页面对应的层级配置信息和第一组件标识确定第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,层级配置信息中包含组件标识的层级排列顺序,基于目标显示层级位置显示对应的第二显示页面。通过采用上述技术方案,当需要在当前显示的显示页面中增加显示界面组件时,可以利用对应的层级配置信息快速确定需要增加的界面组件的目标显示层级位置,提高页面显示效率,此外,利用层级配置信息单独表示各界面组件的层级排列顺序,可以简化页面布局文件的编写难度,降低维护成本。
附图说明
图1为本发明实施例提供的一种页面显示方法的流程示意图;
图2为一种层级关系示意图;
图3为本发明实施例提供的又一种页面显示方法的流程示意图;
图4为本发明实施例提供的另一种页面显示方法的流程示意图;
图5为本发明实施例提供的一种页面显示装置的结构框图;
图6为本发明实施例提供的一种计算机设备的结构框图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。此外,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
为了便于理解本发明实施例,下面对相关内容进行示意性介绍。目前,应用程序的页面中一般存在多个界面组件,以安卓操作系统为例,一个界面组件可以包括一个视图组(ViewGroup),也可以包括一个视图(View)。视图可代表屏幕(或显示界面)上的一块方形区域,负责绘制界面元素和响应用户操作事件。视图组可理解为视图的容器,包含多个子视图。页面中的界面组件一般包括常驻组件和场景组件,当然,还可能包含其他类型的组件。其中,常驻组件可理解为固定显示在页面布局上的组件,不依赖于场景或其他条件;场景组件可理解为在特定场景下显示的组件。应用程序中可以包括多个页面,每个页面中可以包含多个界面组件。以一个页面为例,该页面的显示内容是会发生变化的,为了便于区分,将处于显示状态的页面称为该页面对应的显示页面。对于常驻组件来说,一般会固定出现在页面对应的显示页面中,也即在页面对应的初始显示页面中会显示常驻组件,随着应用程序的使用,在某些场景下,可能需要显示相应的场景组件,此时需要考虑新增显示的场景组件和已显示的其他组件的显示层级关系,以免产生不合理的遮挡。现有技术中,应用程序人员通常在页面布局文件中按顺序依次编写各界面组件对应的代码,因此,编写顺序也决定了各界面组件的层级关系,一般越靠后编写的界面组件层级越高,层级越高的说明越优先显示,也即层级高的界面组件位于层级低的界面组件之上,层级关系在应用程序初始化时已经固定,在需要增加显示界面组件时,需要读取整个页面布局文件来确定该场景组件相对于当前已显示的界面组件的层级关系,影响显示效率。
本发明实施例中,层级配置信息中包含组件标识的层级排列顺序,在需要增加显示界面组件时,可以基于层级配置信息和待增加显示的界面组件的组件标识快速确定其显示层级位置,提高页面显示效率。
图1为本发明实施例提供的一种页面显示方法的流程示意图,该方法可以由页面显示装置执行,其中该装置可由软件和/或硬件实现,一般可集成在计算机设备中。如图1所示,该方法包括:
步骤101、检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件。
示例性的,目标页面可以是应用程序中的任意一个页面,例如主页或者某个业务页面,以直播应用程序为例,可以是直播间麦位布局页面等页面。对于目标页面来说,不同时刻可以显示不同的内容,例如所显示的界面组件的数量不同。示例性的,将目标页面对应的当前显示的显示页面记为第一显示页面,将第一显示页面中当前处于显示状态的界面组件记为第二界面组件,第二界面组件的数量可以是一个或多个,具体不做限定。一般的,第二界面组件可以是上述的常驻组件,也可包含场景组件或其他类型的组件等,具体不做限定。
示例性的,可根据实际需求设置针对目标页面的界面组件添加事件的触发条件。例如,触发条件可以是接收到针对目标页面的界面组件显示指令;又如,当需要添加的界面组件为场景组件时,触发条件可以是检测到目标页面的显示场景发生变化等。
示例性的,将当前需要增加显示的界面组件记为第一界面组件。可以预先为界面组件设定组件标识,组件标识可以理解为用于表示界面组件身份的信息,例如可以是组件身份标识(Identification,ID),不同的界面组件采用不同的ID进行区分。第一界面组件对应的组件标识可记为第一组件标识。
示例性的,可以从界面组件显示指令中获取第一组件标识,也可识别目标页面的当前场景,根据当前场景确定对应的第一组件标识(目标页面的各场景与组件标识的对应关系可以预先设置)。
步骤102、基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序。
示例性的,层级配置信息可以从本地读取,也可以从服务端动态拉取,具体不做限定。层级配置信息中包含组件标识的层级排列顺序,具体表现形式或存储形式不做限定,例如可以是列表、数组或映射关系表等。层级配置信息可以由开发人员根据目标页面可以包含的全部界面组件或部分界面组件进行配置,目标页面中可以包含的界面组件一般由目标页面对应的业务逻辑来确定。对于一个应用程序来说,通常包含多个页面,其中全部页面或部分页面可以成为目标页面,当一个应用程序中存在多个目标页面时,可以预先设置各目标页面与层级配置信息之间的映射关系,根据该映射关系获取当前的目标页面对应的层级配置信息。
示例性的,图2为一种层级关系示意图,如图2所示,存在3个界面组件A、B和C,C在最底层,A在最顶层,三者的层级关系是C>B>A,也即,界面组件的层级关系可以理解为层级从底层至顶层依次升高。
示例性的,第二显示页面可理解为增加显示第一界面组件之后的显示页面。假设层级配置信息中包含了每个组件标识分别对应的层级序号,则根据第一组件标识查询层级配置信息可以得到第一界面组件对应的第一层级序号,对于第二界面组件,在显示第一显示页面时,一般已经确定了第二界面组件对应的第二层级序号,此时,通过比较第一层级序号和第二层级序号之间的大小关系,则可以确定第一界面组件在待显示的第二显示页面中的目标显示层级位置。该目标显示层级位置可以是相对于第二界面组件的相对位置,例如,在某个第二界面组件之下、在某个第二界面组件之上、或在某两个第二界面组件之间等;目标显示层级位置也可以是相对于目标参考对象的相对位置,目标参考对象例如可以是预设的参考组件,该参考组件可以是背景组件,也可以是仅起到位置参考作用的透明组件,目标参考对象还可以是目标页面对应的根布局,根布局可理解为目标页面的基础布局或全局布局对应的视图组对象,也即可理解为目标页面中最大的视图容器,根布局可作为参考组件的父亲节点。
步骤103、基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
示例性的,可以针对第一界面组件进行绘制等操作,将绘制完成的第一界面组件按照目标显示层级位置插入到第一显示界面中相应的位置,得到第二显示页面并进行显示;也可以将第一界面组件加入显示界面绘制列表中与目标显示层级位置相匹配的位置,该显示界面绘制列表中可以包括第二显示界面中包含的所有界面组件,并按照层级顺序进行排序,由系统根据显示界面绘制列表完成界面组件绘制以及合成等相关操作,得到第二显示页面并进行显示。
本发明实施例中提供的页面显示方法,检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件,基于目标页面对应的层级配置信息和第一组件标识确定第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,层级配置信息中包含组件标识的层级排列顺序,基于目标显示层级位置显示对应的第二显示页面。通过采用上述技术方案,当需要在当前显示的显示页面中增加显示界面组件时,可以利用对应的层级配置信息快速确定需要增加的界面组件的目标显示层级位置,提高页面显示效率。
此外,对于现有技术中在页面布局文件中按顺序依次编写各界面组件对应的代码的方式来说,若随着业务功能的更新,需要增加新设计的界面组件或者更改不同界面组件之间的层级关系时,则需要重新编写页面布局文件,通过发布新版本等方式使得应用程序基于新的页面布局文件确定各界面组件的层级关系并进行页面绘制及显示,而页面布局文件中包含了多个界面组件对应的代码,更新成本较大,且还需要承担一定的人工编写错误的风险。因此,本发明实施例中,利用层级配置信息单独表示各界面组件的层级排列顺序,可以简化页面布局文件的编写难度,降低维护成本。
在一些实施例中,所述层级配置信息包括所述目标页面中的界面组件的组件标识序列。所述基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,包括:利用预设查找方式基于所述目标页面对应的层级配置信息,查找层级排列顺序中与所述第一组件标识最接近的目标第二界面组件,以及确定所述第一界面组件和所述目标第二界面组件的相对位置关系;根据所述相对位置关系和所述目标第二界面组件的当前显示层级位置确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置。这样设置的好处在于,可以快速确定目标显示层级位置,且不需要存储每个组件标识分别对应的层级序号,在层级配置信息发生变化时,如需要新增界面组件或调整已有界面组件的层级关系时,调整组件标识的排序即可,不需要修改组件标识与层级序号的映射关系,降低层级配置信息的维护成本。
示例性的,查找层级排列顺序中与所述第一组件标识最接近的目标第二界面组件,可以是,查找层级排列顺序中与所述第一组件标识最接近的目标第二组件标识,将目标第二组件标识所属的第二界面组件记为目标第二界面组件。
示例性的,查找层级排列顺序中与所述第一组件标识最接近的目标第二界面组件,也可以是,在由第二界面组件形成的层级显示顺序中,利用层级配置信息中的层级排列顺序来确定与第一组件标识最接近的目标第二界面组件。具体的,可以利用预设查找方式选取第一显示页面中的一个第二界面组件,通过查询层级配置信息中的层级排列顺序来确定该第二界面组件和第一界面组件的先后顺序以及两者之间的距离;之后变更当前的第二界面组件,继续确定该第二界面组件和第一界面组件的先后顺序以及两者之间的距离。比较各个距离的取值,最后,查找到已显示的第二界面组件中的在层级排列顺序中与第一界面组件最接近的目标第二界面组件,并确定第一界面组件和目标第二界面组件的相对位置关系,例如,确定第一界面组件在目标第二界面组件之前还是之后。随后,根据目标第二界面组件在第一显示界面中的当前显示层级位置来确定第一界面组件在第二显示页面中的目标显示层级位置。例如,目标第二界面组件在第一显示界面中的当前显示层级位置为第一位置,目标显示层级位置为第二位置,若相对位置关系是第一界面组件在目标第二界面组件之前,第二位置位于第一位置之前且与第一位置相邻,若相对位置关系是第一界面组件在目标第二界面组件之后,第二位置位于第一位置之后且与第一位置相邻。
在一些实施例中,所述预设查找方式包括二分查找方式、顺序查找方式和差值查找方式中的至少一种。这样设置的好处在于,可以利用合理的查找方式提高目标显示层级位置的确定效率。可选的,预设查找方式为二分查找方式。
在一些实施例中,所述基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,包括:根据所述第一界面组件和所述目标显示层级位置调用系统的视图添加接口,以通过所述视图添加接口显示对应的第二显示页面,其中,所述第二显示页面中各界面组件的显示顺序满足第一层级显示顺序,所述第一层级显示顺序通过在所述第一显示页面对应的第二层级显示顺序中按照所述目标显示层级位置插入所述第一组件标识后得到。这样设置的好处在于,利用系统提供的视图添加(addView)接口可以快速实现第一界面组件的添加显示,可提高页面显示效率,且保证显示的准确性以及与系统的兼容性,进而保证系统稳定性。示例性的,可以由视图添加接口根据第一层级显示顺序绘制其中包含的界面组件并进行显示页面的合成,得到第二显示页面,具体的显示处理方式可以由系统内部的处理逻辑实现。
在一些实施例中,在所述检测到针对当前正在显示的第一页面的界面组件添加事件被触发之前,还包括:检测到层级配置更新事件被触发时,从服务端获取最新的层级配置信息,并根据所述最新的层级配置信息更新本地的层级配置信息。这样设置的好处在于,相比于现有技术中需要重新发布页面布局文件的方式来说,可以更加灵活地更新层级配置信息,动态地实现页面中界面组件的层级关系的调整,使得应用程序的页面显示能够更及时地与业务需求的更新进行匹配。其中,当已有界面组件层级关系发生变化时,界面组件本身的实现代码并未发生变化,因此,不需要重新发布界面组件对应的代码,仅需获取新的层级配置信息即可实现页面中界面组件层级关系的更新;当新增界面组件时,其他界面组件本身的实现代码也未发生变化,因此,可仅发布新增界面组件对应的代码,并获取新的层级配置信息即可实现页面中界面组件层级关系的更新,相比于现有技术也可大大减少需要获取的数据量。可选的,上述服务端可以由云平台实现。层级配置更新事件的触发条件可以根据实际情况设置。例如,当应用程序启动时,认为触发层级配置更新事件;又如,服务端下发层级配置更新指令时,认为触发层级配置更新事件。
在一些实施例中,在所述基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面之前,还包括:根据所述第一组件标识获取所述第一界面组件。这里所获取的第一界面组件可理解为开发人员预先编写的用于实现第一界面组件的相关代码,例如第一界面组件中包括的视图组或视图在绘制界面元素时所需的参数、数据以及相应用户操作的代码逻辑等等。第一界面组件可以存在于现有的页面布局文件中,由于本发明实施例采用层级配置信息单独表示各界面组件的层级排列顺序,因此,开发人员在编写界面组件时不需要再考虑各界面组件在页面布局文件中的编写顺序,在调整已有界面组件的层级关系时,不需要对页面布局文件进行修改,在存在新增界面组件需求时,编写新的界面组件的相关代码后加入页面布局文件即可,不需要更改其他已经存在的界面组件对应的代码,使得新增业务的界面组件的开发与旧业务的界面组件之间解耦,开发人员可以聚焦于新增UI组件的业务开发,并且不必担心对旧业务产生副作用。
进一步的,第一界面组件也可以存在于本发明实施例新增的界面组件库中,也即从所述目标页面对应的界面组件库中获取所述第一界面组件。这样设置的好处在于,可以在界面组件库中对各界面组件对应的相关代码进行独立的模块化管理,使得各界面组件之间互不干扰。在调整已有界面组件的层级关系时,不需要对界面组件库进行更改,在存在新增界面组件需求时,编写新的界面组件的相关代码后加入界面组件库即可,不需要更改界面组件库中其他已经存在的界面组件对应的代码,同理,也可以使得新增业务的界面组件的开发与旧业务的界面组件之间解耦,开发人员可以聚焦于新增界面组件的业务开发。
图3为本发明实施例提供的又一种页面显示方法的流程示意图,如图3所示,该方法可包括:
步骤301、检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件。
步骤302、利用二分查找方法基于所述目标页面对应的层级配置信息,查找层级排列顺序中与第一组件标识最接近的目标第二界面组件,以及确定第一界面组件和目标第二界面组件的相对位置关系。
示例性的,层级配置信息包括目标页面中的界面组件的组件标识序列,组件标识序列的表现形式不做限定,可以是一个整型数组,数组的元素为各界面组件的组件ID,组件ID是唯一的,组件ID对应的数组下标值越大,也即组件ID在整型数组中越靠后,表示该组件ID对应的界面组件的层级越高。
二分查找算法,也称折半搜索算法或对数搜索算法,是一种在有序数组中查找某一特定元素的搜索算法。搜索过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜索过程结束;如果某一特定元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半中查找,而且跟开始一样从中间元素开始比较。
假设目标页面中可以包含8个界面组件,分别记为A、B、C、D、E、F、G和H,对应的组件ID可以分别为a、b、c、d、e、f、g和h,假设目标页面对应的层级配置信息包含的整型数组为[a,b,c,d,e,f,g,h],也即由A至G层级逐渐升高。假设第一显示界面中包含的第二界面组件为A、B、F、G和H,当前需要新增的第一界面组件为C,利用二分查找方法可以先确定F为当前的第二界面组件,通过查询上述整型数组,发现c位于f之前,两者距离为3,继续在A到F之间进行查找,将B确定为当前的第二界面组件,通过查询上述整型数组,发现c位于b之后,两者距离为1,c和b距离最近,则说明层级排列顺序中与第一组件标识最接近的目标第二界面组件为B,且C在B之后。
步骤303、根据相对位置关系和目标第二界面组件的当前显示层级位置确定第一界面组件在待显示的第二显示页面中的目标显示层级位置。
示例性的,显示层级位置可以是在目标页面的根布局下的位置。
步骤304、从目标页面对应的界面组件库中获取第一界面组件。
步骤305、根据第一界面组件和目标显示层级位置调用系统的视图添加接口,以通过视图添加接口显示对应的第二显示页面。
本发明实施例提供的页面显示方法,当需要在当前显示的显示页面中增加显示界面组件时,可以采用二分查找法利用对应的层级配置信息中的组件标识序列快速地找到已显示的界面组件中与新增界面组件层级关系最接近的目标界面组件,进而确定新增界面组件在即将显示的新的显示界面中的目标显示层级位置,快速实现界面组件的动态添加,提高页面显示效率,此外,利用组件标识序列单独表示各界面组件的层级排列顺序,可以降低页面层级关系的变更成本,更加有利于应用程序的页面显示及时地与业务需求的更新进行匹配。
在一些实施例中,所述基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,包括:若所述目标页面对应的层级配置信息不包含所述第一组件标识,则确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为预设显示层级位置。这样设置的好处在于,若层级配置信息中未预先配置第一组件的层级顺序,则可自动确定其目标显示层级位置为预设显示层级位置,提升方案的容错能力,避免应用程序运行过程中报错,另外,对于某个或某些界面组件来说,也可以允许开发人员不在层级配置信息进行配置,从而使其在需要进行显示时,显示到预设显示层级位置处。可选的,预设显示层级位置可以根据实际需求设置,例如可以是最底层,当存在参考组件时,可以是参考组件之上紧邻参考组件的位置等。
在一些实施例中,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为预设显示层级位置,包括:识别所述第一界面组件对应的第一组件类型;根据所述第一组件类型和预设映射关系确定相应的目标预设显示层级位置,其中,所述预设映射关系中包含组件类型和预设显示层级位置的对应关系;确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为目标预设显示层级位置。这样设置的好处在于,若层级配置信息中未预先配置第一组件的层级顺序,可以根据第一界面组件的组件类型将其显示到合适的位置,从而更加灵活合理地确定目标预设显示层级位置。
图4为本发明实施例提供的另一种页面显示方法的流程示意图,如图4所示,该方法可包括:
步骤401、检测到应用程序启动,从服务端获取最新的层级配置信息,并根据最新的层级配置信息更新本地的层级配置信息。
示例性的,开发人员可以根据实际的业务需求定义好应用程序中的各页面包含的界面组件的层级关系,并生成一个层级配置文件,不同的界面组件可以用不同的ID表示,层级配置文件可以采用xml格式或json格式等进行描述,层级配置文件生成后可以存储在配置平台(如云端),每次应用程序启动时,可以从配置平台拉取最新的层级配置文件,拉取成功后,将层级配置文件解析成层级配置信息对应的组件层级列表数据结构,例如是整型数组,然后将该组件层级列表数据结构作为层级配置信息在本地进行持久化存储。
步骤402、检测到目标页面的显示指令,获取目标页面对应的层级配置信息。
示例性的,可以根据页面与层级配置信息之间的映射关系获取目标页面的层级配置信息。
步骤403、根据目标页面对应的层级配置信息显示第一显示页面,其中,第一显示页面中包括第二界面组件。
示例性的,第二界面组件可以包括常驻组件。以应用程序为直播应用程序为例,假设目标页面为直播间麦位布局页面,麦位布局的空间通常都比较有限,但同时这个区域往往又是业务需求的核心区域,常见的界面组件包括用户头像、麦位礼物动画特效、头像框和麦位表情动画等,随着业务的不断迭代,麦位上的组件也会逐渐增多。其中,常驻组件例如可包括用户头像和用户昵称等,可以在目标页面初始化时进行加载显示,也即上述第二界面组件可以包括用户头像组件和用户昵称组件等。场景组件在特定的场景下才会出现在麦位布局页面上,例如麦位礼物动画特效,只有在收到礼物的时候才会播放,麦位表情动画只会在用户使用麦位表情时候才会触发。
步骤404、检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识。
示例性的,第一界面组件可以是一个场景组件,例如上述的麦位礼物动画特效。
步骤405、判断层级配置信息中是否包含第一组件标识,若是,则执行步骤406;否则,执行步骤408。
步骤406、利用二分查找方法基于目标页面对应的层级配置信息,查找层级排列顺序中与第一组件标识最接近的目标第二界面组件,以及确定第一界面组件和目标第二界面组件的相对位置关系。
步骤407、根据相对位置关系和目标第二界面组件的当前显示层级位置确定第一界面组件在待显示的第二显示页面中的目标显示层级位置,执行步骤409。
示例性的,显示层级位置可以是在目标页面的根布局下的位置。
步骤408、确定第一界面组件在待显示的第二显示页面中的目标显示层级位置为预设显示层级位置。
示例性的,可以定义一个参照组件,参照组件可以是页面布局中的第一个子视图(也即层级最低),可以以根布局为父亲节点。当需要动态添加的第一界面组件的组件ID不存在层级配置信息中时,可认为无法通过层级配置信息查找到插入位置,这时可以默认将其插入到参照组件之后的第一个位置(也即倒数第二个层级),也就是说,可以确定第一界面组件在待显示的第二显示页面中的目标显示层级位置为参见组件之上的第一个位置。
步骤409、从目标页面对应的界面组件库中获取第一界面组件。
步骤410、根据第一界面组件和所述目标显示层级位置调用系统的视图添加接口,以通过视图添加接口显示对应的第二显示页面。
其中,所述第二显示页面中各界面组件的显示顺序满足第一层级显示顺序,所述第一层级显示顺序通过在所述第一显示页面对应的第二层级显示顺序中按照所述目标显示层级位置插入所述第一组件标识后得到。示例性的,通过调用addView等系统接口,可以利用系统接口完成界面组件的测量、布局以及渲染等一系列操作,最终把界面组件按照第一层级显示顺序展示在用户界面上。
需要说明的是,当针对目标页面的界面组件添加事件再次被触发时,当前的第二显示页面可以视为新的第一显示页面,这时,新的第二界面组件中可以既包括常驻组件又包括场景组件。
本发明实施例提供的页面显示方法,可实现动态且自动化地改变界面组件的层级关系,使得页面布局层级具有动态适配产品以及视觉需求的能力,方便调整以达到最佳的用户体验效果,并且在重新配置层级配置文件时,可以确保新增业务界面组件和旧业务界面组件是完全解耦的,即开发者可以完全聚焦于新增UI组件的业务开发,而不必担心对旧业务产生副作用,极大地提高了研发的质量和效率。
图5为本发明实施例提供的一种页面显示装置的结构框图,该装置可由软件和/或硬件实现,一般可集成在计算机设备中,可通过执行页面显示方法来进行页面显示。如图5所示,该装置包括:
第一组件标识获取模块501,用于检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件;
目标显示层级位置确定模块502,用于基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序;
页面显示模块503,用于基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
本发明实施例中提供的页面显示装置,当需要在当前显示的显示页面中增加显示界面组件时,可以利用对应的层级配置信息快速确定需要增加的界面组件的目标显示层级位置,提高页面显示效率,此外,利用层级配置信息单独表示各界面组件的层级排列顺序,可以简化页面布局文件的编写难度,降低维护成本。
本发明实施例提供了一种计算机设备,该计算机设备中可集成本发明实施例提供的页面显示装置。图6为本发明实施例提供的一种计算机设备的结构框图。计算机设备600包括存储器601、处理器602及存储在存储器601上并可在处理器602上运行的计算机程序,所述处理器602执行所述计算机程序时实现本发明实施例提供的页面显示方法。
本发明实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行本发明实施例提供的页面显示方法。
上述实施例中提供的页面显示装置、设备以及存储介质可执行本发明任意实施例所提供的页面显示方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本发明任意实施例所提供的页面显示方法。
注意,上述仅为本发明的较佳实施例。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由权利要求范围决定。
Claims (11)
1.一种页面显示方法,其特征在于,包括:
检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件;
基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序;
基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
2.根据权利要求1所述的方法,其特征在于,所述层级配置信息包括所述目标页面中的界面组件的组件标识序列;所述基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,包括:
利用预设查找方式基于所述目标页面对应的层级配置信息,查找层级排列顺序中与所述第一组件标识最接近的目标第二界面组件,以及确定所述第一界面组件和所述目标第二界面组件的相对位置关系;
根据所述相对位置关系和所述目标第二界面组件的当前显示层级位置确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置。
3.根据权利要求2所述的方法,其特征在于,所述预设查找方式包括二分查找方式、顺序查找方式和差值查找方式中的至少一种。
4.根据权利要求1所述的方法,其特征在于,所述基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,包括:
根据所述第一界面组件和所述目标显示层级位置调用系统的视图添加接口,以通过所述视图添加接口显示对应的第二显示页面,其中,所述第二显示页面中各界面组件的显示顺序满足第一层级显示顺序,所述第一层级显示顺序通过在所述第一显示页面对应的第二层级显示顺序中按照所述目标显示层级位置插入所述第一组件标识后得到。
5.根据权利要求1所述的方法,其特征在于,所述基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,包括:
若所述目标页面对应的层级配置信息不包含所述第一组件标识,则确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为预设显示层级位置。
6.根据权利要求5所述的方法,其特征在于,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为预设显示层级位置,包括:
识别所述第一界面组件对应的第一组件类型;
根据所述第一组件类型和预设映射关系确定相应的目标预设显示层级位置,其中,所述预设映射关系中包含组件类型和预设显示层级位置的对应关系;
确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置为目标预设显示层级位置。
7.根据权利要求1-6任一所述的方法,其特征在于,在所述检测到针对当前正在显示的第一页面的界面组件添加事件被触发之前,还包括:
检测到层级配置更新事件被触发时,从服务端获取最新的层级配置信息,并根据所述最新的层级配置信息更新本地的层级配置信息。
8.根据权利要求1-6任一所述的方法,其特征在于,在所述基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面之前,还包括:
从所述目标页面对应的界面组件库中获取所述第一界面组件。
9.一种页面显示装置,其特征在于,包括:
第一组件标识获取模块,用于检测到针对目标页面的界面组件添加事件被触发时,获取待添加的第一界面组件对应的第一组件标识,其中,所述目标页面对应的当前显示的第一显示页面中包含已显示的第二界面组件;
目标显示层级位置确定模块,用于基于所述目标页面对应的层级配置信息和所述第一组件标识,确定所述第一界面组件在待显示的第二显示页面中的目标显示层级位置,其中,所述层级配置信息中包含组件标识的层级排列顺序;
页面显示模块,用于基于所述第一界面组件和所述目标显示层级位置显示对应的第二显示页面,其中,所述第二显示页面中包括所述第一界面组件和所述第二界面组件。
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-8任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-8中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110213392.XA CN112948039B (zh) | 2021-02-25 | 2021-02-25 | 页面显示方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110213392.XA CN112948039B (zh) | 2021-02-25 | 2021-02-25 | 页面显示方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112948039A true CN112948039A (zh) | 2021-06-11 |
CN112948039B CN112948039B (zh) | 2023-08-01 |
Family
ID=76246245
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110213392.XA Active CN112948039B (zh) | 2021-02-25 | 2021-02-25 | 页面显示方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112948039B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610201A (zh) * | 2022-02-24 | 2022-06-10 | 烽台科技(北京)有限公司 | 一种界面显示方法、装置、终端设备及存储介质 |
CN115455135A (zh) * | 2022-06-30 | 2022-12-09 | 北京九章云极科技有限公司 | 可视化自动建模方法、装置、电子设备和存储介质 |
CN116095053A (zh) * | 2023-04-12 | 2023-05-09 | 广州此声网络科技有限公司 | 虚拟空间麦位资源处理方法、装置、计算机设备 |
WO2024027830A1 (zh) * | 2022-08-05 | 2024-02-08 | 抖音视界有限公司 | 一种元素绘制方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022629A (ja) * | 2013-07-22 | 2015-02-02 | 日本電信電話株式会社 | 統合制御装置および統合制御方法 |
CN109241480A (zh) * | 2018-08-16 | 2019-01-18 | 海信电子科技(深圳)有限公司 | 页面显示方法及装置 |
CN111666526A (zh) * | 2020-06-17 | 2020-09-15 | 广州市百果园信息技术有限公司 | 页面生成方法、装置、设备及存储介质 |
CN111797343A (zh) * | 2020-07-09 | 2020-10-20 | 广州市百果园信息技术有限公司 | 一种运营活动的管理方法、配置服务器和展示终端 |
CN112363654A (zh) * | 2020-11-27 | 2021-02-12 | 歌尔科技有限公司 | 可穿戴设备的显示控制方法、可穿戴设备及存储介质 |
-
2021
- 2021-02-25 CN CN202110213392.XA patent/CN112948039B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015022629A (ja) * | 2013-07-22 | 2015-02-02 | 日本電信電話株式会社 | 統合制御装置および統合制御方法 |
CN109241480A (zh) * | 2018-08-16 | 2019-01-18 | 海信电子科技(深圳)有限公司 | 页面显示方法及装置 |
CN111666526A (zh) * | 2020-06-17 | 2020-09-15 | 广州市百果园信息技术有限公司 | 页面生成方法、装置、设备及存储介质 |
CN111797343A (zh) * | 2020-07-09 | 2020-10-20 | 广州市百果园信息技术有限公司 | 一种运营活动的管理方法、配置服务器和展示终端 |
CN112363654A (zh) * | 2020-11-27 | 2021-02-12 | 歌尔科技有限公司 | 可穿戴设备的显示控制方法、可穿戴设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
付丽梅: "《Android移动应用开发项目教程》", 31 January 2017, 东软电子出版社, pages: 71 - 72 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114610201A (zh) * | 2022-02-24 | 2022-06-10 | 烽台科技(北京)有限公司 | 一种界面显示方法、装置、终端设备及存储介质 |
CN115455135A (zh) * | 2022-06-30 | 2022-12-09 | 北京九章云极科技有限公司 | 可视化自动建模方法、装置、电子设备和存储介质 |
CN115455135B (zh) * | 2022-06-30 | 2023-10-31 | 北京九章云极科技有限公司 | 可视化自动建模方法、装置、电子设备和存储介质 |
WO2024027830A1 (zh) * | 2022-08-05 | 2024-02-08 | 抖音视界有限公司 | 一种元素绘制方法、装置、设备及存储介质 |
CN116095053A (zh) * | 2023-04-12 | 2023-05-09 | 广州此声网络科技有限公司 | 虚拟空间麦位资源处理方法、装置、计算机设备 |
Also Published As
Publication number | Publication date |
---|---|
CN112948039B (zh) | 2023-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112948039A (zh) | 页面显示方法、装置、设备及存储介质 | |
CN105511873B (zh) | 用户界面控件展示方法及装置 | |
US8635605B2 (en) | Automated deployment implementation with a deployment topology model | |
CN101727322B (zh) | 优化物料清单管理界面的方法及装置 | |
US20230115491A1 (en) | Information presentation method and apparatus, electronic device, and storage medium | |
US20150040041A1 (en) | Descriptive framework for data visualization | |
US8196090B2 (en) | Aggregation of constraints across profiles | |
US8271538B2 (en) | Automated generation of modeling language profiles | |
US20220376991A1 (en) | System and method for visualizing and navigating network data | |
US8086436B2 (en) | Preliminary data representations of a deployment activity model | |
US20090112566A1 (en) | Automated generation of executable deployment code from a deployment activity model | |
CN105786525A (zh) | 一种进程模型向线程模型移植代码的方法及装置 | |
CN107220044B (zh) | 基于元模型驱动业务对象的方法和装置 | |
CN109840078B (zh) | 一种协作编辑分层元数据的方法及装置 | |
CN102043853A (zh) | 一种存储数据的更新方法和装置 | |
CN115437633A (zh) | 一种支持用户自定义组件的页面编排方法 | |
CN112988810A (zh) | 信息查找方法、装置及设备 | |
CN116166737A (zh) | 资源拓扑图的生成方法、装置、电子设备及可读存储介质 | |
CN112988278A (zh) | 资源文件的meta文件修改方法、装置、电子设备及存储介质 | |
CN110968591A (zh) | 查询语句的生成方法、装置、存储介质及处理器 | |
CN117332760B (zh) | 一种验证计划辅助编辑方法、电子设备及存储介质 | |
CN117667951B (zh) | 用于摄像机的特征数据的数据处理方法和装置 | |
CN116540983A (zh) | 一种逻辑组态设计方法、装置及平台 | |
CN107729013B (zh) | 管理网页上操作按钮的方法和计算机可读存储介质 | |
CN114153352A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |