显示界面的边界调整方法、装置、存储介质及电子设备与流程

文档序号:30461578发布日期:2022-06-18 04:58阅读:198来源:国知局
显示界面的边界调整方法、装置、存储介质及电子设备与流程

1.本公开涉及控制领域,特别涉及一种显示界面的边界调整方法、装置、存储介质及电子设备。


背景技术:

2.针对显示边界的配置,其属于一种非常规操作,在安卓系统中只在系统初始化时配置了显示信息,系统运行时只可以调用一些公共开放接口来做常规操作,即调整应用程序的显示边界,而无法调整整个显示界面的边界,无法实时更新显示边界信息。
3.如果修改显示边界的配置信息,只会在下次系统启动时才能生效,用户想要调整显示边界,只能重启系统,用户体验较差。


技术实现要素:

4.有鉴于此,本公开实施例提出了一种显示界面的边界调整方法、装置、存储介质及电子设备,用以解决现有技术的如下问题:如果修改显示边界的配置信息,只会在下次系统启动时才能生效,用户想要调整显示边界,只能重启系统,用户体验较差。
5.一方面,本公开实施例提出了一种显示界面的边界调整方法,包括:接收显示界面的边界调整指令,其中,所述边界调整指令携带有显示边界尺寸数据;将所述显示边界尺寸数据更新至预定显示数据结构中;通过调用预定更新接口将更新后的所述预定显示数据结构发送至预定窗口管理服务,其中,所述预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口;所述预定窗口管理服务通过所述预定更新接口将所述显示边界尺寸数据发送至预定显示管理服务,以更新所述显示界面的边界尺寸。
6.在一些实施例中,所述更新所述显示界面的边界尺寸之后,还包括:计算调整后非显示界面的其它界面区域的尺寸数据;创建第一窗口,其中,所述第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为所述其它界面区域的尺寸数据;通过所述预定窗口管理服务内的预定过扫描区定义接口将所述其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区;通过所述预定窗口管理服务内的预定窗口增加接口在所述新的过扫描区中添加所述第一窗口,以在所述其它界面区域显示视图。
7.在一些实施例中,所述通过所述预定窗口管理服务内的预定窗口增加接口在所述新的过扫描区中添加所述第一窗口,包括:检测所述第一窗口的窗口类型是否为第一类型;在窗口类型是所述第一类型的情况下,按照预定边界计算公式将所述第一窗口叠加至所述新的过扫描区上。
8.在一些实施例中,所述创建第一窗口,包括:在窗口类型定义区域增加所述第一类型,其中,所述第一类型为非普通应用程序窗口类型;创建一个窗口,并配置所述窗口的所述窗口类型、所述窗口尺寸、视图内容结构。
9.在一些实施例中,所述预定窗口管理服务通过所述预定更新接口将所述显示边界尺寸数据发送至预定显示管理服务,以更新所述显示界面的边界尺寸,包括:所述预定窗口
管理服务调用所述预定显示管理服务中的预定显示数据更新方法,通过所述预定显示数据更新方法将所述显示边界尺寸数据更新至所述显示界面的配置数据中,以调整所述显示界面的边界尺寸。
10.在一些实施例中,所述预定窗口管理服务调用所述预定显示管理服务中的预定显示数据更新方法,包括:所述预定窗口管理服务检测所述预定显示管理服务中的预定显示管理实例是否已完成初始化;在已完成初始化的情况下,所述预定窗口管理服务调用所述预定显示管理服务内预定显示管理对象中的所述预定显示数据更新方法。
11.在一些实施例中,所述接收显示界面的边界调整指令之前,还包括:检测是否接收到所述显示界面的边界调整请求,在接收到所述边界调整请求的情况下,根据所述边界调整请求对应的显示边界尺寸数据生成并发送所述边界调整指令。
12.另一方面,本公开实施例提出了一种显示界面的边界调整装置,包括:接收模块,用于接收显示界面的边界调整指令,其中,所述边界调整指令携带有显示边界尺寸数据;更新模块,用于将所述显示边界尺寸数据更新至预定显示数据结构中;第一发送模块,用于通过调用预定更新接口将更新后的所述预定显示数据结构发送至预定窗口管理服务,其中,所述预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口;第二发送模块,用于使所述预定窗口管理服务通过所述预定更新接口将所述显示边界尺寸数据发送至预定显示管理服务,以更新所述显示界面的边界尺寸。
13.在一些实施例中,还包括:计算模块,用于计算调整后非显示界面的其它界面区域的尺寸数据;创建模块,用于创建第一窗口,其中,所述第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为所述其它界面区域的尺寸数据;扫描定义模块,用于通过所述预定窗口管理服务内的预定过扫描区定义接口将所述其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区;添加模块,用于通过所述预定窗口管理服务内的预定窗口增加接口在所述新的过扫描区中添加所述第一窗口,以在所述其它界面区域显示视图。
14.在一些实施例中,所述添加模块,具体用于:检测所述第一窗口的窗口类型是否为第一类型;在窗口类型是所述第一类型的情况下,按照预定边界计算公式将所述第一窗口叠加至所述新的过扫描区上。
15.在一些实施例中,所述创建模块,具体用于:在窗口类型定义区域增加所述第一类型,其中,所述第一类型为非普通应用程序窗口类型;创建一个窗口,并配置所述窗口的所述窗口类型、所述窗口尺寸、视图内容结构。
16.在一些实施例中,所述第二发送模块,具体用于:使所述预定窗口管理服务调用所述预定显示管理服务中的预定显示数据更新方法,通过所述预定显示数据更新方法将所述显示边界尺寸数据更新至所述显示界面的配置数据中,以调整所述显示界面的边界尺寸。
17.在一些实施例中,所述第二发送模块,具体用于:使所述预定窗口管理服务检测所述预定显示管理服务中的预定显示管理实例是否已完成初始化;在已完成初始化的情况下,使所述预定窗口管理服务调用所述预定显示管理服务内预定显示管理对象中的所述预定显示数据更新方法。
18.在一些实施例中,还包括:检测模块,用于检测是否接收到所述显示界面的边界调整请求,生成模块,用于在接收到所述边界调整请求的情况下,根据所述边界调整请求对应的显示边界尺寸数据生成并发送边界调整指令。
19.另一方面,本公开实施例提出了一种存储介质,存储有计算机程序,计算机程序被处理器执行时实现本公开任意实施例提供的方法。
20.另一方面,本公开实施例提出了一种电子设备,至少包括存储器、处理器,存储器上存储有计算机程序,处理器在执行存储器上的计算机程序时实现本公开任意实施例提供的方法。
21.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过所述预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验。
附图说明
22.为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1为现有技术提供的显示界面的示意图;
24.图2为现有技术提供的显示界面中应用程序调整尺寸后的示意图;
25.图3为本公开第一实施例提供的显示界面的边界调整方法的流程图;
26.图4为现有技术提供的边界调整方法的实现过程示意图;
27.图5为本公开第一实施例提供的显示界面的边界调整方法的实现过程示意图;
28.图6为本公开第一实施例提供的显示界面调整尺寸后的示意图;
29.图7为本公开第二实施例提供的显示界面的边界调整方法的流程图;
30.图8为本公开第二实施例提供的显示界面调整示意图;
31.图9为本公开第三实施例提供的显示界面的边界调整装置的结构示意图;
32.图10为本公开第五实施例提供的电子设备的结构示意图。
具体实施方式
33.为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
34.除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件
及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
35.为了保持本公开实施例的以下说明清楚且简明,本公开省略了已知功能和已知部件的详细说明。
36.现有技术在进行边界修改时,仅能够实现应用程序的显示边界调整,排除了导航栏和状态栏等固定显示的部分,例如图1所示,图中上部和下部的边条都是无法被调整的部分,当用户想要调整显示边界时,仅能在调整后呈现如图2所示的状态,即只有应用程序的显示边界被调整了。
37.当然,如果想要修改整个显示界面的边界,也是可以实现的,只不过在整个显示界面的配置信息调整后,由于系统正常运行时只可以调用一些公共开放接口来做常规操作,整个显示界面的边界调整属于原本无法开放的一些操作,只有重新启动系统,在系统初始化时运行才可以实现整个显示界面的边界调整,导致用户体验较差。
38.但随着实际应用场景的多元化需求,有些场景下可能需要实时修改整个显示界面的边界尺寸,或者恢复初始化配置信息,但现有方案无法满足这种需求。
39.基于上述思考,本公开第一实施例提供了一种显示界面的边界调整方法,其流程如图3所示,包括步骤s301至s304:
40.s301,接收显示界面的边界调整指令,其中,边界调整指令携带有显示边界尺寸数据。
41.上述显示界面为所有显示内容的区域,即包括导航栏与状态栏等在内的全部显示内容的区域,即包括图1所示的应用程序区域、上部和下部的边条。
42.具体实现时,应用程序会最先接收到界面调整请求,进而系统才可以响应,因此,需要先检测是否接收到显示界面的边界调整请求,该检测过程虽说是应用程序执行的,但其也属于整个系统的运行过程。
43.上述检测是否接收到显示界面的边界调整请求的过程可以是按照预定检测周期检测的,具体实现时,可以将预定检测周期设置的较短,以实现相当于实时检测的效果。
44.如果没有接收到边界调整请求,则不进行任何操作,继续按照预定检测周期检测是否接收到显示界面的边界调整请求。
45.如果接收到边界调整请求,则说明此时用户已经发出显示界面的调整需求,则根据边界调整请求对应的显示边界尺寸数据生成边界调整指令,并将边界调整指令发送至系统的主线程。当然,上述调整需求可能是来自用户的,也可能是某些应用程序自带的显示界面的调整需求,上述仅以用户存在显示界面的调整需求为例,并不对本公开实施例构成限定。
46.s302,将显示边界尺寸数据更新至预定显示数据结构中。
47.显示边界尺寸数据都是在预定显示数据结构存储的,只有先修改了预定显示数据结构内的显示边界尺寸数据,才可能实现最终对显示界面的边界进行调整。
48.当系统接收到显示边界尺寸数据时,就可以将最新的尺寸数据赋值给预定显示数据结构,以将预定显示数据结构中的旧显示边界尺寸数据替换为新显示边界尺寸数据。
49.s303,通过调用预定更新接口将更新后的预定显示数据结构发送至预定窗口管理服务,其中,预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口。
50.预定窗口管理服务的接口中有一些可以被外部程序调用,也有一些无法被外部程序调用的接口,可以被外部程序调用的接口都会被写入开放接口列表中。本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口位于用于被外部程序调用,该预定更新接口的内容限定了原本无法被外界调用的方法可以被调用,因此,通过该预定更新接口可以将更新后的预定显示数据结构发送至预定窗口管理服务,进而调用原本无法被使用的方法实现边界调整。
51.s304,预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸。
52.预定窗口管理服务通过预定更新接口可以调用预定显示管理服务中的方法,进而可以通过预定显示管理服务来更新显示界面的边界尺寸。具体实现时,预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法,通过预定显示数据更新方法将显示边界尺寸数据更新至显示界面的配置数据中,以调整显示界面的边界尺寸。预定显示数据更新方法为预定显示管理服务中用于更新边界尺寸的方法,其是普通外部程序无法调用的,然而,本公开实施例预定更新接口的定义,对预定显示数据更新方法实现了使用。
53.在预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法的过程中,为了避免程序系统出现故障或死循环,可以使预定窗口管理服务先检测预定显示管理服务中的预定显示管理实例是否已完成初始化;在已完成初始化的情况下,预定窗口管理服务调用预定显示管理服务内预定显示管理对象中的预定显示数据更新方法。具体实现过程将在下述实施例中进行示例性说明,此处不进行赘述。
54.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验。
55.本公开实施例可以以一个服务程序作为执行主体的形式实现,也可以将服务程序融合在系统中,以执行主体为系统的形式实现,此处不进行限定。下面为进行示例性说明,将以服务程序作为一部分执行主体的方式进行说明。
56.本公开实施例可以使应用程序在系统正常运行时能对显示配置信息进行实时更新,具体的,通过将本该不被开放调用的显示数据的修改方法(即预定显示数据更新方法)开放给本公开实施例的服务程序使用,然后由服务程序等待接收来自应用程序的修改显示信息的指令,以进一步处理显示数据更新的需求。
57.具体的,应用程序根据场景需求,组织最新显示边界尺寸数据,通过指令方式发送给服务程序,服务程序接收来自应用程序的用于更新显示边界的指令,然后从指令中解析所要求的最新的显示边界尺寸数据。将最新的显示边界尺寸数据赋值给服务程序初始化时所提的displayinfo结构(即预定显示数据结构)中,最后将更新后的displayinfo结构提交
给wms(window manager service,窗口管理服务,即上述的预定窗口管理服务),最终传递给dms(display manager service,显示管理服务,即上述的预定显示管理服务)达到实时更新显示边界的效果。
58.目前的安卓系统运行过程中,没有可供应用程序实时调整显示边界的功能,目前现有的实现过程如图4所示,其中,dms对外接口(可以称为display manager)和wms对外接口(可以称为window manager)均是公共接口,也可以理解为其是dms和wms的一部分。由图中可以看出,wms和dms之间不存在任何调用关系。
59.图5所示的为本公开实施例的显示界面的边界调整方法的实现过程示意图,其流程如下:
60.对于应用程序:
61.应用程序的主线程检测是否存在调整显示边界的请求,如果是,则根据需求计算最新的显示边界尺寸数据,将尺寸数据以指令方式发送给服务程序。
62.关于服务程序:
63.服务程序接收携带有显示边界尺寸数据的指令,对其进行解析,并在解析后将最新的尺寸数据赋给displayinfo结构;服务程序将最新的displayinfo结构通过预定更新接口传递给wms;wms调用使用预定更新接口调用dms内部的预定显示数据更新方法,并将尺寸数据包发送至dms,以立即更新变更后的显示边界尺寸数据到当前显示界面。
64.例如,在实际使用场景中,用户想要与屏幕交互,但是由于屏幕过大等不方便操作等原因,需要临时更改一下显示界面的显示边界,以更便于人机交互,则可以通过手势识别、语音识别、多指操作、悬浮球等方法修改显示边界之后,显示界面变小,操作完之后再根据需求将显示界面的边界恢复初始化配置,则其显示界面变化过程可以如图6所示。当然,图6仅为一种具体示例,调整了显示边界后的显示界面,其可以在整个原有屏幕的任意位置,用户可以根据实际需求对其进行移动操作,以使其位置便于人机交互。
65.具体到程序层面的执行时,需要声明一个新的接口,即预定更新接口(updatedisplayinfo),用于更新显示信息displayinfo结构。updatedisplayinfo在wms中具体实现的过程如下:先判断wms中的mdisplaymanagerinternal实例是否为空;如果mdisplaymanagerinternal实例为空则不执行任何操作,退出;如果mdisplaymanagerinternal示例不为空,调用dms下displaymanagerinternal对象中的更新当前显示数据的预定显示数据更新方法(setdisplayinfooverridefromwindowmanager),来刷新显示边界变化后的显示数据。
66.本实施例实现了通过增加一个可供调用的接口updatedisplayinfo,去调用仅限wms内部使用的方法setdisplayinfooverridefromwindowmanager。
67.本公开实施例提出了一种可以在系统运行时实时更新显示边界的方案,为了能更灵活的应对多元化应用场景的需求,本公开实施例将原本不开放的方法开放给wms调用,同时结合一套系统服务方案使得应用可以实时的对显示边界进行更新,用户体验较好。
68.本公开第二实施例提供了一种显示界面的边界调整方法,该方法相对于第一实施例而言,对更新显示界面的边界尺寸之后的过程进一步拓展。在上述更新显示界面的边界尺寸时,如果是缩小整个显示界面,则缩小后的显示界面只会存于在与原有显示屏幕的一部分,此时,除缩小后的显示界面之外,还会存在一块非显示界面的区域(即缩小后空出的
其它没有显示内容的区域),如图6所示,显示界面之外的其它区域即为非显示界面的区域,本公开实施例可以称其为其它界面区域(根据显示界面区域的位置不同,其它界面区域的范围也相应调整),本公开实施例对该其它界面区域进行了进一步利用,即利用其进一步显示内容。具体实现时,在更新显示界面的边界尺寸之后,其处理流程可以如图7所示,包括步骤s701至s708:
69.s701,接收显示界面的边界调整指令,其中,边界调整指令携带有显示边界尺寸数据。
70.s702,将显示边界尺寸数据更新至预定显示数据结构中。
71.s703,通过调用预定更新接口将更新后的预定显示数据结构发送至预定窗口管理服务,其中,预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口。
72.s704,预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸。
73.上述s701至s704的过程与上述第一实施例相同,本实施例不再进行赘述,下述s705至s708的过程为第二实施例与第一实施例的区别之处。
74.s705,计算调整后非显示界面的其它界面区域的尺寸数据。
75.具体实现时,根据更新后的显示边界尺寸数据和原显示屏幕的显示界面尺寸确定调整后其它界面区域的尺寸数据。
76.s706,创建第一窗口,其中,第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为其它界面区域的尺寸数据。
77.本实施例创建的第一窗口是要在其它界面区域显示视图所用,在创建上述第一窗口时,可以先在窗口类型定义区域增加第一类型,第一类型为非普通应用程序窗口类型,该第一类型是为了将其与普通应用程序窗口类型进行区分,进而后续可以通过第一类型确定要显示的视图是否需要在其它界面区域中显示。
78.在增加了第一类型后,就可以创建一个窗口,并配置窗口的窗口类型、窗口尺寸、视图内容结构,即配置窗口类型为第一类型,窗口尺寸为其它界面区域的尺寸数据,视图内容结构可以根据需求进行相应配置,例如将视图内容结构配置为在其它界面区域显示可以用作缩小后显示界面边框的内容。
79.s707,通过预定窗口管理服务内的预定过扫描区定义接口将其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区。
80.该过程利用过扫描区在系统中的定义实现了其它界面区域的显示。过扫描区在系统中的定义的范围为除应用程序区域外的上部边条和下部边条(可以参考图1),然而,当本公开实施例将上部边条和下部边条都作为显示界面的整体进行了缩放,因此,利用现有已存在的过扫描区定义时,只需要调整过扫描区的边界,则可以改变对其进行利用,进而为新的过扫描区内叠加窗口来显示视图。
81.s708,通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口,以在其它界面区域显示视图。
82.具体实现时,由预定窗口管理服务检测第一窗口的窗口类型是否为第一类型,即确定第一窗口的类型;在窗口类型是第一类型的情况下,按照预定边界计算公式将第一窗口叠加至新的过扫描区上,至此实现了在其它界面区域显示视图的功能。
83.当需要再次调整图6中包括上部边条和下部边条的显示界面时,例如需要将图6中的显示界面的尺寸再调整大一些或需要改变图6中显示界面的位置,只需要再次执行s701至s704的流程即可;当后续再次需要在图6中显示界面外的非显示界面中显示内容时,只需要再次执行s705至s708的流程即可。
84.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验;进一步,本公开实施例还利用了其它界面区域,在调整显示界面区域后,为其它界面区域进行区域界定和窗口建立,进而让其它界面区域显示视图,用户可以在其它界面区域看到内容,丰富了显示屏幕的应用。
85.本公开实施例可以以一个服务程序作为执行主体的形式实现,也可以将服务程序融合在系统中,以执行主体为系统的形式实现,此处不进行限定,下面为进行示例性说明,将以服务程序作为一部分执行主体的方式进行说明。
86.下述为如何实现分屏显示的过程:
87.1.在wms中定制添加一个公共接口fun1(即部分预定更新接口的功能),其内容为调用dms的非公共接口fun2(即预定显示数据更新方法),fun2被原生系统设计来更新显示参数,fun2的参数是displayinfo。
88.2.定制一个服务程序servicel,在serivicel中创建一个公共接口fun3,fun3可供设备中的任何服务或调用,func3的参数是显示边界的宽和高,fun3的功能用于servicel之外的程序调用来调整显示边界(appbounds)。
89.3.在service1中fun3(即另一部分预定更新接口的功能)的实现:首先初始化一个displayinfo结构,然后将参数显示边界的宽高,填入displayinfo结构,最后调用wms中的公共接口fun1,传入参数displayinfo。
90.4.待dms的接口fun2执行完成,可以看到整个屏幕被缩放,分屏出原有的内容和一块无数据显示的空白区域region1(即其它界面区域)。
91.下述为如何在region1内实现显示视图的过程:
92.1.定制修改wms,在窗口类型定义区域增加一个新窗口类型type1,type1属于系统高级类型,区别于普通应用程序窗口类型。
93.2.定制一个服务程序service2,在service2中声明一个窗口视图,窗口类型声明为type1,尺寸与region1边界相同。
94.3.service2声明一个视图内容结构view1,用于接收要显示的内容(内容可来自service2内部其他任务进程,或者来自于service2外的程序填充)。
95.4.当view1内容准备好之后,调用wms的公共接口fun4(fun4是wms原生接口,被设计来设置过扫描区的大小,参数是过扫描区域的尺寸,即预定过扫描区定义接口),fun4的参数填入region1(即region1=全屏-appbounds),至此region1区域被赋予了overscan(过扫描区)的意义。
96.5.调用wms的添加视图窗口的接口fun5(fun5是源生接口,被设计来增加一个视图窗口,即预定窗口增加接口),view1和type1作为fun5的参数,实现添加窗口的过程。
97.具体实现时,是通过wms里的pwm(phonewindowmanager,安卓系统与窗口策略相关的类)实现的,其过程大致如下:
98.(1)待到下次刷新屏幕时,wms中计算待显示的窗口区域时,会根据不同的窗口类型用不同的算法公式计算,定制添加一个case1(即一段程序)专用于处理type1类型的窗口。
99.(2)当判断窗口类型是case1时,判断待添加窗口类型为type1,则在case1中计算窗口显示区域时,定制算法公式使得本窗口可布局到过扫描区域region1内。
100.(3)待屏幕渲染完成,可见region1显示着view1的内容,屏幕其它区域显示内容不受影响。
101.目前安卓系统中关于视图扩展到过扫描区功能限制条件过多,使得能扩展到过扫描区的视图窗口局限于普通应用视图窗口,从而相对于系统级的一些高层级的窗口来说,拥有更低的权限,不能满足一些特殊需求场景。然而本公开实施例在程序开始后,初始化视图窗口,指定视图窗口类型(此处指定类型的权限和层级不局限于普通应用程序范围),再初始化视图布局尺寸信息,进而建立窗口;随后,调用wms公共接口添加视图(或者移除视图,即调用wms提供的公共接口设置过扫描区与视图尺寸匹配或者设置当前过扫描区尺寸为0);当调用wms成功添加一个视图窗口到显示之前,会在pwm中先测量计算窗口的布局位置,在pwm的内部测量计算布局区域接口中,判断待布局窗口的窗口类型是否为type1;如果是type1,则测量计算当前窗口的布局区域时,允许将过扫描区计算在内;如果不是type1,则使用安卓默认方案测量计算待显示窗口的布局区域,以显示在调整后的显示界面区域的应用程序区域中。
102.在实际场景中,例如图8,用户想要在系统显示界面外侧加个边框,同时切换系统中各种窗口不会影响边框,则可采用本公开第二实施例的方案,由于其他显示内容都是通过安卓默认的布局方式,所以当设置新的过扫描区之后,只有此后台程序才会显示在新的过扫描区,因而与其他显示内容互不影响。当然,上述仅为一种示例,并不对本公开实施例构成限定。
103.上述显示内容的终端可以为电视、会议机、教育机等任何具有显示器的显示设备。对于新的过扫描区显示的显示内容,其包括但不限于实况事件、新闻广播、广告等内容。本公开实施例允许终端用户根据用户偏好设置来定制、启用或禁用显示区域的音频部分和/或隐藏字幕部分。户偏好设置可以以各种方式来确定,例如,机器学习过程通过分析用户在一段时间内的活动来确定特定设置的趋势;用户可以与图形数据元素(例如,嵌入的图形)进行交互,诸如点击滚动条,以获得关于该滚动条的更多信息、或将图形数据元素的状态从可见变为关闭、切换不同公司的实时股价,进而使查询请求数据元素以符合用户偏好设置。在新的过扫描区的查询还可以优化相应用户设备接收到的数据量,以保证排除的数据元素不会被用户设备接收到。本公开实施例可以使得终端用户能够与新的过扫描区交互,并且改变哪些数据元素可以被覆盖到定制区上,允许终端用户进一步使查,以实现个性化设置。
104.本公开实施例通过wms中pwm的测量计算接口中增加新的限定条件,来使能扩展到过扫描区的窗口权限不局限于普通应用窗口;且通过后台控制程序的添加/移除方法可灵
活控制过扫描区内容的显示与隐藏,用户体验较好。
105.本公开第三实施例提供了一种显示界面的边界调整装置,该装置的结构示意如图9所示,包括:
106.接收模块10,用于接收显示界面的边界调整指令,其中,边界调整指令携带有显示边界尺寸数据;更新模块20,与接收模块10耦合,用于将显示边界尺寸数据更新至预定显示数据结构中;第一发送模块30,与更新模块20耦合,用于通过调用预定更新接口将更新后的预定显示数据结构发送至预定窗口管理服务,其中,预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口;第二发送模块40,与第一发送模块30耦合,用于使预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸。
107.上述显示界面为所有显示内容的区域,即包括导航栏与状态栏等在内的全部显示内容的区域。
108.具体实现时,应用程序会最先接收到界面调整请求,进而系统才可以响应,因此,本公开实施例还可以包括:检测模块,用于检测是否接收到显示界面的边界调整请求,生成模块,用于在接收到边界调整请求的情况下,根据边界调整请求对应的显示边界尺寸数据生成并发送边界调整指令。
109.上述检测是否接收到显示界面的边界调整请求的过程可以是按照预定检测周期检测的,具体实现时,可以将预定检测周期设置的较短,以实现相当于实时检测的效果。
110.如果没有接收到边界调整请求,则不进行任何操作,继续按照预定检测周期检测是否接收到显示界面的边界调整请求。
111.如果接收到边界调整请求,则说明此时用户已经发出显示界面的调整需求,则根据边界调整请求对应的显示边界尺寸数据生成边界调整指令,并将边界调整指令发送至系统的主线程。当然,上述调整需求可能是来自用户的,也可能是某些应用程序自带的显示界面的调整需求,上述仅以用户存在显示界面的调整需求为例,并不对本公开实施例构成限定。
112.上述显示边界尺寸数据都是在预定显示数据结构存储的,只有先修改了预定显示数据结构内的显示边界尺寸数据,才可能实现最终对显示界面的边界进行调整。
113.当系统接收到显示边界尺寸数据时,就可以将最新的尺寸数据赋值给预定显示数据结构,以将预定显示数据结构中的旧显示边界尺寸数据替换为新显示边界尺寸数据。
114.对于预定窗口管理服务,其接口中有一些可以被外部程序调用,也有一些无法被外部程序调用的接口,可以被外部程序调用的接口都会被写入开放接口列表中。本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口位于用于被外部程序调用,该预定更新接口的内容限定了原本无法被外界调用的方法可以被调用,因此,通过该预定更新接口可以将更新后的预定显示数据结构发送至预定窗口管理服务,进而调用原本无法被使用的方法实现边界调整。
115.预定窗口管理服务通过预定更新接口可以调用预定显示管理服务中的方法,进而可以通过预定显示管理服务来更新显示界面的边界尺寸。具体实现时,上述第二发送模块具体用于使预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法,通过预定显示数据更新方法将显示边界尺寸数据更新至显示界面的配置数据中,以调整显示界面
的边界尺寸。进一步的,在第二发送模块用于使预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法时,具体可以先使预定窗口管理服务检测预定显示管理服务中的预定显示管理实例是否已完成初始化,在已完成初始化的情况下,使预定窗口管理服务调用预定显示管理服务内预定显示管理对象中的预定显示数据更新方法,进而避免了程序系统出现故障或死循环问题。
116.上述显示界面的边界调整装置还可以包括:计算模块,用于计算调整后非显示界面的其它界面区域的尺寸数据;创建模块,用于创建第一窗口,其中,第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为其它界面区域的尺寸数据;扫描定义模块,用于通过预定窗口管理服务内的预定过扫描区定义接口将其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区;添加模块,用于通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口,以在其它界面区域显示视图。
117.具体实现时,根据更新后的显示边界尺寸数据和原显示屏幕的显示界面尺寸确定调整后其它界面区域的尺寸数据。
118.本公开实施例利用过扫描区在系统中的定义实现了其它界面区域的显示。过扫描区在系统中的定义的范围为除应用程序区域外的上部边条和下部边条,然而,当本公开实施例将上部边条和下部边条都作为显示界面的整体进行了缩放,因此,利用现有已存在的过扫描区定义时,只需要调整过扫描区的边界,则可以改变对其进行利用,进而为新的过扫描区内叠加窗口来显示视图。
119.上述添加模块,具体用于:检测第一窗口的窗口类型是否为第一类型;在窗口类型是第一类型的情况下,按照预定边界计算公式将第一窗口叠加至新的过扫描区上。
120.上述创建模块,具体用于:在窗口类型定义区域增加第一类型,其中,第一类型为非普通应用程序窗口类型;创建一个窗口,并配置窗口的窗口类型、窗口尺寸、视图内容结构。
121.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验;进一步,本公开实施例还利用了其它界面区域,在调整显示界面区域后,为其它界面区域进行区域界定和窗口建立,进而让其它界面区域显示视图,用户可以在其它界面区域看到内容,丰富了显示屏幕的应用。
122.本公开第四实施例提供了一种存储介质,该存储介质为计算机可读介质,存储有计算机程序,该计算机程序被处理器执行时实现本公开任意实施例提供的方法,包括如下步骤s11至s14:
123.s11,接收显示界面的边界调整指令,其中,边界调整指令携带有显示边界尺寸数据;
124.s12,将显示边界尺寸数据更新至预定显示数据结构中;
125.s13,通过调用预定更新接口将更新后的预定显示数据结构发送至预定窗口管理
服务,其中,预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口;
126.s14,预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸。
127.计算机程序被处理器执行预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸的步骤时,具体被处理器执行如下步骤:预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法,通过预定显示数据更新方法将显示边界尺寸数据更新至显示界面的配置数据中,以调整显示界面的边界尺寸。
128.计算机程序被处理器执行预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法的步骤时,具体被处理器执行如下步骤:预定窗口管理服务检测预定显示管理服务中的预定显示管理实例是否已完成初始化;在已完成初始化的情况下,预定窗口管理服务调用预定显示管理服务内预定显示管理对象中的预定显示数据更新方法。
129.计算机程序被处理器执行接收显示界面的边界调整指令的步骤之前,还被处理器执行如下步骤:检测是否接收到显示界面的边界调整请求,在接收到边界调整请求的情况下,根据边界调整请求对应的显示边界尺寸数据生成并发送边界调整指令。
130.计算机程序被处理器执行更新显示界面的边界尺寸的步骤之后,还被处理器执行如下步骤:计算调整后非显示界面的其它界面区域的尺寸数据;创建第一窗口,其中,第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为其它界面区域的尺寸数据;通过预定窗口管理服务内的预定过扫描区定义接口将其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区;通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口,以在其它界面区域显示视图。
131.计算机程序被处理器执行通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口的步骤时,具体被处理器执行如下步骤:检测第一窗口的窗口类型是否为第一类型;在窗口类型是第一类型的情况下,按照预定边界计算公式将第一窗口叠加至新的过扫描区上。
132.计算机程序被处理器执行创建第一窗口的步骤时,具体被处理器执行如下步骤:在窗口类型定义区域增加第一类型,其中,第一类型为非普通应用程序窗口类型;创建一个窗口,并配置窗口的窗口类型、窗口尺寸、视图内容结构。
133.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验;进一步,本公开实施例还利用了其它界面区域,在调整显示界面区域后,为其它界面区域进行区域界定和窗口建立,进而让其它界面区域显示视图,用户可以在其它界面区域看到内容,丰富了显示屏幕的应用。
134.可选地,在本实施例中,上述存储介质可以包括但不限于:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者
光盘等各种可以存储程序代码的介质。可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例记载的方法步骤。可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
135.本公开第五实施例提供了一种电子设备,该电子设备的结构示意图可以如图10所示,至少包括存储器901和处理器902,存储器901上存储有计算机程序,处理器902在执行存储器901上的计算机程序时实现本公开任意实施例提供的方法。示例性的,电子设备计算机程序步骤如下s21至s24:
136.s21,接收显示界面的边界调整指令,其中,边界调整指令携带有显示边界尺寸数据;
137.s22,将显示边界尺寸数据更新至预定显示数据结构中;
138.s23,通过调用预定更新接口将更新后的预定显示数据结构发送至预定窗口管理服务,其中,预定更新接口为在预定窗口管理服务的开放接口列表中增加的接口;
139.s24,预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸。
140.处理器在执行存储器上存储的预定窗口管理服务通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以更新显示界面的边界尺寸的计算机程序时,具体执行如下计算机程序:预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法,通过预定显示数据更新方法将显示边界尺寸数据更新至显示界面的配置数据中,以调整显示界面的边界尺寸。
141.处理器在执行存储器上存储的预定窗口管理服务调用预定显示管理服务中的预定显示数据更新方法的计算机程序时,具体执行如下计算机程序:预定窗口管理服务检测预定显示管理服务中的预定显示管理实例是否已完成初始化;在已完成初始化的情况下,预定窗口管理服务调用预定显示管理服务内预定显示管理对象中的预定显示数据更新方法。
142.处理器在执行存储器上存储的接收显示界面的边界调整指令的计算机程序之前,还执行如下计算机程序:检测是否接收到显示界面的边界调整请求,在接收到边界调整请求的情况下,根据边界调整请求对应的显示边界尺寸数据生成并发送边界调整指令。
143.处理器在执行存储器上存储的更新显示界面的边界尺寸的计算机程序之后,还执行如下计算机程序:计算调整后非显示界面的其它界面区域的尺寸数据;创建第一窗口,其中,第一窗口的配置信息至少包括:窗口类型为第一类型、窗口尺寸为其它界面区域的尺寸数据;通过预定窗口管理服务内的预定过扫描区定义接口将其它界面区域的尺寸数据配置到过扫描区,以定义新的过扫描区;通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口,以在其它界面区域显示视图。
144.处理器在执行存储器上存储的通过预定窗口管理服务内的预定窗口增加接口在新的过扫描区中添加第一窗口的计算机程序时,具体执行如下计算机程序:检测第一窗口的窗口类型是否为第一类型;在窗口类型是第一类型的情况下,按照预定边界计算公式将第一窗口叠加至新的过扫描区上。
145.处理器在执行存储器上存储的创建第一窗口的计算机程序时,具体执行如下计算机程序:在窗口类型定义区域增加第一类型,其中,第一类型为非普通应用程序窗口类型;创建一个窗口,并配置窗口的窗口类型、窗口尺寸、视图内容结构。
146.本公开实施例在开放接口列表中增加了一个预定更新接口,该预定更新接口用于被外部调用,进而可以使得预定窗口管理服务接收到被更新过的预定显示数据结构,该预定更新接口的内容限定了原本无法被外界调用的方法,进而预定窗口管理服务可以通过预定更新接口将显示边界尺寸数据发送至预定显示管理服务,以实时更新整个显示界面的边界,相对于现有技术只更新应用程序的显示边界而言,在用户想要调整整个显示界面的边界时就可以实现,无需重新启动系统,为用户提供了更多的边界调整可能性,提升了用户体验;进一步,本公开实施例还利用了其它界面区域,在调整显示界面区域后,为其它界面区域进行区域界定和窗口建立,进而让其它界面区域显示视图,用户可以在其它界面区域看到内容,丰富了显示屏幕的应用。
147.此外,尽管已经在本文中描述了示例性实施例,其范围包括任何和所有基于本公开的具有等同元件、修改、省略、组合(例如,各种实施例交叉的方案)、改编或改变的实施例。权利要求书中的元件将被基于权利要求中采用的语言宽泛地解释,并不限于在本说明书中或本技术的实施期间所描述的示例,其示例将被解释为非排他性的。因此,本说明书和示例旨在仅被认为是示例,真正的范围和精神由以下权利要求以及其等同物的全部范围所指示。
148.以上描述旨在是说明性的而不是限制性的。例如,上述示例(或其一个或更多方案)可以彼此组合使用。例如本领域普通技术人员在阅读上述描述时可以使用其它实施例。另外,在上述具体实施方式中,各种特征可以被分组在一起以简单化本公开。这不应解释为一种不要求保护的公开的特征对于任一权利要求是必要的意图。相反,本公开的主题可以少于特定的公开的实施例的全部特征。从而,以下权利要求书作为示例或实施例在此并入具体实施方式中,其中每个权利要求独立地作为单独的实施例,并且考虑这些实施例可以以各种组合或排列彼此组合。本公开的范围应参照所附权利要求以及这些权利要求赋权的等同形式的全部范围来确定。
149.以上对本公开多个实施例进行了详细说明,但本公开不限于这些具体的实施例,本领域技术人员在本公开构思的基础上,能够做出多种变型和修改实施例,这些变型和修改都应落入本公开所要求保护的范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1