基于车载应用的复杂页面显示方法、装置、设备及介质制造方法及图纸

技术编号:32013753 阅读:22 留言:0更新日期:2022-01-22 18:31
本发明专利技术公开了一种基于车载应用的复杂页面显示方法、装置、计算机设备及存储介质,所述方法包括对页面进行回调监听,并设置本地变量,对所述回调监听的状态进行记录;当监听到页面更新的回调事件之后,将所述本地变量置为预设标志位;根据所述预设标志位,触发页面根布局视图的刷新请求对页面的视图树进行重绘。本发明专利技术的技术方案可以保证复杂页面的正常显示,避免出现布局错乱的问题。避免出现布局错乱的问题。避免出现布局错乱的问题。

【技术实现步骤摘要】
基于车载应用的复杂页面显示方法、装置、设备及介质


[0001]本专利技术涉及信息处理领域,尤其涉及一种基于车载应用的复杂页面显示方法、装置、设备及介质。

技术介绍

[0002]为了满足不同用户的审美,现有车载终端会内置多套UI主题供用户选择,用户可以选择自己喜欢的主题风格,点击应用按钮,即可实现主题换肤。
[0003]目前采用的换肤方案是基于开源的第三方库Android

Skin

Loader(一个通过动态加载技术实现换肤的框架),在其基础上做了一些优化。但是,在多次频繁换肤的情况下,一些复杂页面(例如多个视图需要在显示状态和隐藏状态下频繁切换等)会出现布局显示错乱的问题,页面显示不正常从而影响用户的使用。

技术实现思路

[0004]本专利技术提供一种基于车载应用的复杂页面显示方法、装置、计算机设备及存储介质,可以保证复杂页面的正常显示,避免出现布局错乱的问题。
[0005]一种基于车载应用的复杂页面显示方法,其特征在于,包括:
[0006]对页面进行回调监听,并设置本地变量,对回调监听的状态进行记录;
[0007]当监听到页面更新的回调事件之后,将本地变量置为预设标志位;
[0008]根据预设标志位,触发页面根布局视图的刷新请求对页面的视图树进行重绘。
[0009]一种基于车载应用的复杂页面显示装置,包括:
[0010]监听模块,用于对页面进行回调监听,并设置本地变量,对所述回调监听的状态进行记录;/>[0011]标志位设置模块,用于当监听到页面更新的回调事件之后,将所述本地变量置为预设标志位;
[0012]重绘模块,用于根据所述预设标志位,触发页面根布局视图的刷新请求对页面的视图树进行重绘。
[0013]一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述基于车载应用的复杂页面显示方法的步骤。
[0014]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述基于车载应用的复杂页面显示方法的步骤。
[0015]针对现有车载终端上基于开源第三方库实现UI页面显示方案的不足,上述基于车载应用的复杂页面显示方法、装置、计算机设备及存储介质,对页面进行回调监听,并通过设置本地变量对回调监听的状态进行记录;且当监听到页面更新的回调事件后,将本地变量置为预设标志位;根据该预设标志位,系统的刷新机制将触发页面根布局视图的刷新请求,对整个页面进行重绘操作,保证了页面中所有控件均能正常显示,避免出现页面错乱的
问题,尤其适用于同时具有显示和隐藏逻辑的UI页面,防止隐藏控件继续占用空间,有利于提高用户的使用体验。
附图说明
[0016]为了更清楚地说明本专利技术实施例的技术方案,下面将对本专利技术实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1是本专利技术一实施例中基于车载应用的复杂页面显示方法的流程图;
[0018]图2是本专利技术一实施例中基于车载应用的复杂页面显示方法的实现逻辑示意图;
[0019]图3是本专利技术一实施例中基于车载应用的复杂页面显示装置的示意图。
具体实施方式
[0020]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0021]在一实施例中,如图1所示,提供了一种基于车载应用的复杂页面显示方法,包括如下步骤:
[0022]S1:对页面进行回调监听,并设置本地变量,对回调监听的状态进行记录。
[0023]其中,页面是指车载终端上的UI页面,如基于Android平台的人机交互UI界面;尤其是包括同时存在显示和隐藏逻辑的UI页面,即,页面中各控件(如view、image、text等)会随用户的操作而呈显示或隐藏为不可见状态,典型应用如UI主题更换等。
[0024]本地变量是指存储在车载终端上用于存储当前周期内的临时变量。
[0025]回调监听,是指设置新的进/线程对回调事件进行监听。
[0026]优选地,本地变量为布尔型变量,即通过二值类型的数据进行条件判断。在设置本地变量时,先将其初始化为预设值,例如false。
[0027]S2:当监听到页面更新的回调事件之后,将本地变量置为预设标志位。
[0028]页面更新的回调事件包括但不限于车载应用(APP)的UI主题更换、页面中部分控件显示/隐藏状态的切换等。
[0029]预设标志位与本地变量的初始值不同,并用于作为后续处理的依据。若本地变量的初始值为false,则预设标志位可以设为true。
[0030]S3:根据预设标志位,触发页面根布局视图的刷新请求对页面的视图树进行重绘。
[0031]视图(view)树是指每一页面包含有多个视图(view),这些视图的嵌套关系形成树形结构。页面根布局视图即包括页面视图树的整体布局和各自属性。刷新请求是指对页面进行绘制显示的信号。
[0032]具体地,车载应用的运行周期中可以根据预设标志位发出刷新信号,对视图树中所有视图进行重新绘制,从而保证每一视图都正常显示。
[0033]进一步地,重绘过程包括步骤:
[0034]重新计算所述视图树中每个子视图的显示位置,并重新刷新。
[0035]其中,子视图即视图树中根视图之外的其他视图;每一子视图根据其显示位置的不同,在屏幕上具有相对的坐标(如以相对于屏幕左上角(0,0)像素点的位置坐标)。具体地,通过递归绘制函数逐一对每一子视图进行绘制,从而保证视图树中每一子视图均能正常显示。
[0036]在如图2所示的实现逻辑示意图中,以车载终端换肤(实质为更换UI页面的部分或全部控件)应用为例进行说明。
[0037]其中,换肤模块用于接受用户的操作指示进行UI页面的更换或刷新。存在复杂显示和隐藏逻辑的页面,即回调监听的对象。设本地变量为布尔型变量isNeedRequestLayout,其初始默认值为false。当监听到换肤的回调事件时,isNeedRequestLayout被置为true,由此系统的刷新机制将触发页面根布局视图的刷新请求,先调用方法mRootViewrequestLayout()重新计算子视图view的显示位置,并请求重新布局;再调用方法mRootViewinvalidate()刷新整个页面。
[0038]在本实施例中,运用监听来识别复杂页面下的频繁的换肤场景;运用布尔类型变量来标记换肤回调,触发页面刷新本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于车载应用的复杂页面显示方法,其特征在于,包括:对页面进行回调监听,并设置本地变量,对所述回调监听的状态进行记录;当监听到页面更新的回调事件之后,将所述本地变量置为预设标志位;根据所述预设标志位,触发页面根布局视图的刷新请求对页面的视图树进行重绘。2.如权利要求1所述的基于车载应用的复杂页面显示方法,其特征在于,所述本地变量为布尔型变量;所述设置本地变量,包括:将所述布尔型变量初始化为预设值。3.如权利要求1所述的基于车载应用的复杂页面显示方法,其特征在于,对页面的视图树进行重绘,包括:重新计算所述视图树中每个子视图的显示位置,并重新刷新。4.如权利要求1所述的基于车载应用的复杂页面显示方法,其特征在于,所述页面包括同时存在显示和隐藏逻辑的UI页面。5.如权利要求1所述的基于车载应用的复杂页面显示方法,其特征在于,,所述回调事件包括车载应用的UI主题更换事件。6.一种基于车载应用的复杂页面显示装置,其特征在于,包括:监听模块,用于对页面进行回调监听,并设置本地变量,...

【专利技术属性】
技术研发人员:罗艳刘昌业张忠强韦学军张光亚
申请(专利权)人:上汽通用五菱汽车股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1