一种界面显示方法、装置及电子设备转让专利

申请号 : CN201510144901.2

文献号 : CN106155454B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙晨

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请公开了一种界面显示方法,一种界面显示装置,以及一种电子设备。其中,所述方法包括:获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;根据所述背景信息,相应地设置所述系统栏的背景。采用上述方法,用户无需执行额外的颜色选取操作,在简化操作步骤、提高效率的同时,还能够避免出现系统栏与应用页面的背景色调一致却与相邻控件色调不一致的割裂效果。特别是,在监测到应用启动以及应用页面切换时执行本方法,能够使得所有应用页面都自动以系统栏沉浸风格展示在用户面前,从系统层面为用户提供良好的视觉效果。

权利要求 :

1.一种界面显示方法,其特征在于,包括:

获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;所述系统栏包括:位于界面顶部的状态栏;所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;

根据所述背景信息,相应地设置所述系统栏的背景;

其中,所述获取与系统栏邻接的应用页面区域的背景信息,采用以下方式实现:遍历所述应用页面中的控件;

针对所述控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;

若是,获取所述控件的背景信息;

其中,所述根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件包括:在遍历的过程中,针对当前找到的每个控件,先判断该控件的宽度是否小于等于界面的宽度,若是,则获取该控件在界面上的显示位置信息,从中提取其左上角的纵向坐标,并计算该坐标与所述系统栏左下角的纵向坐标之间的差值,按照上述方式完成遍历操作后,从所有被遍历的控件中选取上述差值最小的控件,该控件即为本次查找得到的与所述系统栏邻接的控件;如果在上述遍历过程中,找到了两个或者两个以上的控件,都满足其左上角与所述系统栏左下角的纵向坐标的差值最小的条件,从中选择竖直方向的尺寸最小的控件,作为与系统栏邻接的控件。

2.根据权利要求1所述的界面显示方法,其特征在于,包括:

监测在界面上显示的应用页面的更替;

所述获取与系统栏邻接的应用页面区域的背景信息包括:针对更替后的应用页面,获取与系统栏邻接的应用页面区域的背景信息。

3.根据权利要求2所述的界面显示方法,其特征在于,所述监测在界面上显示的应用页面的更替还包括:监测应用的启动;和/或,

监测应用内部不同页面间的切换。

4.根据权利要求2所述的界面显示方法,其特征在于,通过页面管理程序监测在界面上显示的应用页面的更替。

5.根据权利要求1-4任一项所述的界面显示方法,其特征在于,所述背景信息包括:背景图片、或者背景颜色;

所述根据所述背景设置信息相应地设置所述系统栏的背景包括:设置所述系统栏的背景图片、或者背景颜色。

6.根据权利要求5所述的界面显示方法,其特征在于,当所述背景信息为背景图片时,在所述根据所述背景信息相应地设置所述系统栏的背景之前,执行下述操作:对所述背景图片进行处理,使其适合作为所述系统栏的背景显示。

7.根据权利要求6所述的界面显示方法,其特征在于,所述对所述背景图片进行处理包括:对所述背景图片进行裁剪处理,使其宽度和/或高度与所述系统栏一致;和/或,对所述背景图片进行拉伸处理,使其宽度和/或高度与所述系统栏一致;和/或,对所述背景图片进行旋转处理。

8.根据权利要求5所述的界面显示方法,其特征在于,所述根据所述背景信息相应地设置所述系统栏的背景,采用如下方式实现:通过调用系统提供的系统栏背景设置接口,相应地设置所述系统栏的背景图片或者背景颜色。

9.根据权利要求5所述的界面显示方法,其特征在于,所述根据所述背景信息相应地设置所述系统栏的背景,包括:将所述系统栏的背景色设置为透明;

在所述系统栏的相同位置添加一个同等大小的空白控件;

根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。

10.一种界面显示装置,其特征在于,包括:

应用背景获取单元,用于获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;系统栏背景设置单元,用于根据所述背景信息,相应地设置所述系统栏的背景;

所述应用背景获取单元执行获取背景信息操作所涉及的系统栏包括:位于界面顶部的状态栏;

当所述应用背景获取单元执行获取背景信息操作所涉及的系统栏为位于界面顶部的状态栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;

所述应用背景获取单元包括:

控件遍历子单元,用于遍历所述应用页面中的所有控件;

邻接判断子单元,用于针对所述控件遍历子单元遍历的每个控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;

背景信息获取子单元,用于当所述邻接判断子单元的输出为是时,获取所述控件的背景信息;

其中,所述根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件包括:在遍历的过程中,针对当前找到的每个控件,先判断该控件的宽度是否小于等于界面的宽度,若是,则获取该控件在界面上的显示位置信息,从中提取其左上角的纵向坐标,并计算该坐标与所述系统栏左下角的纵向坐标之间的差值,按照上述方式完成遍历操作后,从所有被遍历的控件中选取上述差值最小的控件,该控件即为本次查找得到的与所述系统栏邻接的控件;如果在上述遍历过程中,找到了两个或者两个以上的控件,都满足其左上角与所述系统栏左下角的纵向坐标的差值最小的条件,从中选择竖直方向的尺寸最小的控件,作为与系统栏邻接的控件。

11.根据权利要求10所述的界面显示装置,其特征在于,包括:页面更替监测单元,用于监测在界面上显示的应用页面的更替;

所述应用背景获取单元具体用于,在所述页面更替监测单元监测到应用页面的更替后,针对更替后的应用页面,获取与系统栏邻接的应用页面区域的背景信息。

12.根据权利要求11所述的界面显示装置,其特征在于,所述页面更替监测单元至少包括以下子单元之一:应用启动监测子单元,用于监测应用的启动;

页面切换监测子单元,用于监测应用内部不同页面间的切换。

13.根据权利要求10所述的界面显示装置,其特征在于,所述页面更替监测单元具体用于,通过页面管理程序监测在界面上显示的应用页面的更替。

14.根据权利要求10-13任一项所述的界面显示装置,其特征在于,所述应用背景获取单元获取的背景信息包括:背景图片、或者背景颜色;

所述系统栏背景设置单元具体用于,根据所述背景信息,相应地设置所述系统栏的背景图片或者背景颜色。

15.根据权利要求14所述的界面显示装置,其特征在于,当所述应用背景获取单元获取的背景信息为背景图片时,所述装置还包括:图片处理单元,用于在触发所述系统栏背景设置单元之前,对所述背景图片进行处理,使其适合作为所述系统栏的背景显示。

16.根据权利要求15所述的界面显示装置,其特征在于,所述图片处理单元至少包括以下子单元之一:裁剪处理子单元,用于对所述背景图片进行裁剪处理,使其宽度和/或高度与所述系统栏一致;

拉伸处理子单元,对所述背景图片进行拉伸处理,使其宽度和/或高度与所述系统栏一致;

旋转处理子单元,用于对所述背景图片进行旋转处理。

17.根据权利要求14所述的界面显示装置,其特征在于,所述系统栏背景设置单元具体用于,通过调用系统提供的系统栏背景设置接口,相应地设置所述系统栏的背景图片或者背景颜色。

18.根据权利要求14所述的界面显示装置,其特征在于,所述系统栏背景设置单元包括:系统栏透明设置子单元,用于将所述系统栏的背景色设置为透明;

空白控件添加子单元,用于在所述系统栏的相同位置添加一个同等大小的空白控件;

控件背景设置子单元,用于根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。

19.一种电子设备,其特征在于,所述电子设备包括:

显示器;

处理器;

存储器,用于存储界面显示程序,所述程序在被所述处理器读取执行时,执行如下操作:获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;所述系统栏包括:位于界面顶部的状态栏;所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;根据所述背景信息,相应地设置所述系统栏的背景;其中,所述获取与系统栏邻接的应用页面区域的背景信息,采用以下方式实现:遍历所述应用页面中的控件;针对所述控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;若是,获取所述控件的背景信息;其中,所述根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件包括:在遍历的过程中,针对当前找到的每个控件,先判断该控件的宽度是否小于等于界面的宽度,若是,则获取该控件在界面上的显示位置信息,从中提取其左上角的纵向坐标,并计算该坐标与所述系统栏左下角的纵向坐标之间的差值,按照上述方式完成遍历操作后,从所有被遍历的控件中选取上述差值最小的控件,该控件即为本次查找得到的与所述系统栏邻接的控件;如果在上述遍历过程中,找到了两个或者两个以上的控件,都满足其左上角与所述系统栏左下角的纵向坐标的差值最小的条件,从中选择竖直方向的尺寸最小的控件,作为与系统栏邻接的控件。

说明书 :

一种界面显示方法、装置及电子设备

技术领域

[0001] 本申请涉及界面显示技术,具体涉及一种界面显示方法。本申请同时涉及一种界面显示装置,以及一种电子设备。

背景技术

[0002] 随着互联网与移动通信技术的发展,移动终端设备得到了日益广泛的应用。为了向使用者提供移动终端设备在系统层面的信息,例如:无线信号强度、网络连接状态、电池电量等,通常在移动终端设备界面的顶部显示包含上述信息的系统状态栏(以下简称状态栏)。当用户使用移动终端设备中的应用时,应用页面通常会在状态栏以下的显示区域中展示。由于状态栏通常采用固定颜色作为背景色,例如,Android手机的状态栏颜色一般为黑色,而应用页面的背景颜色则可能是多种多样的,导致状态栏和应用页面的背景颜色不一致,从而产生一种两者相互割裂的视觉效果,使得移动终端设备的整个显示界面不美观,影响用户的使用体验。
[0003] 为了解决上述问题,使状态栏与应用的背景颜色一致,从而产生屏幕整体色调协调的视觉效果,即通常所说的“沉浸式状态栏”效果,有一些第三方插件或者工具可以提供上述功能。使用这些插件或者工具时,用户通常需要为状态栏选择背景颜色,或者通过执行类似“从屏幕拾取颜色”这样的操作,从而实现特定应用的状态栏沉浸效果。请参考图1给出的沉浸式状态栏的效果图。
[0004] 通过上面描述可以看出,采用上述状态栏沉浸方案,用户需要执行颜色选取等额外处理或者操作,步骤繁琐,效率低;而且如果用户未能正确选取颜色,则无法取得沉浸式状态栏的理想效果,例如,在应用页面的背景颜色与应用页面顶部控件(例如操作栏ActionBar)的背景颜色不一致的情况下,如果用户未选取操作栏的背景颜色,则可能会呈现出状态栏与应用割裂的情况,无法取得理想的状态栏沉浸效果,请参考图2示出的展示效果。

发明内容

[0005] 本申请实施例提供一种界面显示方法和装置,以解决现有的状态栏沉浸方案操作步骤繁琐、效率低以及沉浸效果不理想的问题。本申请实施例另外提供一种电子设备。
[0006] 本申请提供一种界面显示方法,包括:
[0007] 获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;
[0008] 根据所述背景信息,相应地设置所述系统栏的背景。
[0009] 可选的,所述方法包括:
[0010] 监测在界面上显示的应用页面的更替;
[0011] 所述获取与系统栏邻接的应用页面区域的背景信息包括:针对更替后的应用页面,获取与系统栏邻接的应用页面区域的背景信息。
[0012] 可选的,所述监测在界面上显示的应用页面的更替包括:
[0013] 监测应用的启动;和/或,
[0014] 监测应用内部不同页面间的切换。
[0015] 可选的,通过页面管理程序监测在界面上显示的应用页面的更替。
[0016] 可选的,所述背景信息包括:背景图片、或者背景颜色;
[0017] 所述根据所述背景设置信息相应地设置所述系统栏的背景包括:设置所述系统栏的背景图片、或者背景颜色。
[0018] 可选的,所述系统栏包括:位于界面顶部的状态栏、和/或位于界面底部的导航栏。
[0019] 可选的,当所述系统栏为位于界面顶部的状态栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;
[0020] 当所述系统栏为位于界面底部的导航栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的底部控件。
[0021] 可选的,所述获取与系统栏邻接的应用页面区域的背景设置信息,采用如下方式实现:
[0022] 遍历所述应用页面中的所有控件;
[0023] 针对上述每个控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;
[0024] 若是,获取所述控件的背景信息。
[0025] 可选的,当所述背景信息为背景图片时,在所述根据所述背景信息相应地设置所述系统栏的背景之前,执行下述操作:
[0026] 对所述背景图片进行处理,使其适合作为所述系统栏的背景显示。
[0027] 可选的,所述对所述背景图片进行处理包括:
[0028] 对所述背景图片进行裁剪处理,使其宽度和/或高度与所述系统栏一致;和/或,[0029] 对所述背景图片进行拉伸处理,使其宽度和/或高度与所述系统栏一致;和/或,[0030] 对所述背景图片进行旋转处理。
[0031] 可选的,所述根据所述背景信息相应地设置所述系统栏的背景,采用如下方式实现:
[0032] 通过调用系统提供的系统栏背景设置接口,相应地设置所述系统栏的背景图片或者背景颜色。
[0033] 可选的,所述根据所述背景信息相应地设置所述系统栏的背景,包括:
[0034] 将所述系统栏的背景色设置为透明;
[0035] 在所述系统栏的相同位置添加一个同等大小的空白控件;
[0036] 根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。
[0037] 相应的,本申请还提供一种界面显示装置,包括:
[0038] 应用背景获取单元,用于获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;
[0039] 系统栏背景设置单元,用于根据所述背景信息,相应地设置所述系统栏的背景。
[0040] 可选的,所述装置包括:
[0041] 页面更替监测单元,用于监测在界面上显示的应用页面的更替;
[0042] 所述应用背景获取单元具体用于,在所述页面更替监测单元监测到应用页面的更替后,针对更替后的应用页面,获取与系统栏邻接的应用页面区域的背景信息。
[0043] 可选的,所述页面更替监测单元至少包括以下子单元之一:
[0044] 应用启动监测子单元,用于监测应用的启动;
[0045] 页面切换监测子单元,用于监测应用内部不同页面间的切换。
[0046] 可选的,所述页面更替监测单元具体用于,通过页面管理程序监测在界面上显示的应用页面的更替。
[0047] 可选的,所述应用背景获取单元获取的背景信息包括:背景图片、或者背景颜色;
[0048] 所述系统栏背景设置单元具体用于,根据所述背景信息,相应地设置所述系统栏的背景图片或者背景颜色。
[0049] 可选的,所述应用背景获取单元执行获取背景信息操作所涉及的系统栏包括:位于界面顶部的状态栏、和/或位于界面底部的导航栏。
[0050] 可选的,当所述应用背景获取单元执行获取背景信息操作所涉及的系统栏为位于界面顶部的状态栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;
[0051] 当所述应用背景获取单元执行获取背景信息操作所涉及的系统栏为位于界面底部的导航栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的底部控件。
[0052] 可选的,所述应用背景获取单元包括:
[0053] 控件遍历子单元,用于遍历所述应用页面中的所有控件;
[0054] 邻接判断子单元,用于针对所述控件遍历子单元遍历的每个控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;
[0055] 背景信息获取子单元,用于当所述邻接判断子单元的输出为是时,获取所述控件的背景信息。
[0056] 可选的,当所述应用背景获取单元获取的背景信息为背景图片时,所述装置还包括:
[0057] 图片处理单元,用于在触发所述系统栏背景设置单元之前,对所述背景图片进行处理,使其适合作为所述系统栏的背景显示。
[0058] 可选的,所述图片处理单元至少包括以下子单元之一:
[0059] 裁剪处理子单元,用于对所述背景图片进行裁剪处理,使其宽度和/或高度与所述系统栏一致;
[0060] 拉伸处理子单元,对所述背景图片进行拉伸处理,使其宽度和/或高度与所述系统栏一致;
[0061] 旋转处理子单元,用于对所述背景图片进行旋转处理。
[0062] 可选的,所述系统栏背景设置单元具体用于,通过调用系统提供的系统栏背景设置接口,相应地设置所述系统栏的背景图片或者背景颜色。
[0063] 可选的,所述系统栏背景设置单元包括:
[0064] 系统栏透明设置子单元,用于将所述系统栏的背景色设置为透明;
[0065] 空白控件添加子单元,用于在所述系统栏的相同位置添加一个同等大小的空白控件;
[0066] 控件背景设置子单元,用于根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。
[0067] 此外,本申请还提供一种电子设备,包括:
[0068] 显示器;
[0069] 处理器;
[0070] 存储器,用于存储界面显示程序,所述程序在被所述处理器读取执行时,执行如下操作:获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;根据所述背景信息,相应地设置所述系统栏的背景。
[0071] 与现有技术相比,本申请具有以下优点:
[0072] 本申请提供的一种界面显示方法,获取与系统栏邻接的应用页面区域的背景信息,并根据所述背景信息,相应地设置所述系统栏的背景。采用所述方法,不仅可以使得系统栏背景与相邻应用页面区域背景的展示效果协调一致,实现应用页面与系统栏浑然一体的沉浸效果,而且由于本方法能够主动获取在当前界面上显示的、与系统栏邻接的应用页面区域的背景信息、并采用该信息设置系统栏的背景,因此用户无需执行额外的颜色选取操作,在简化操作步骤、提高效率的同时,还能够避免出现系统栏与应用页面的背景色调一致却与相邻控件色调不一致的割裂效果。特别是,在监测到应用启动以及应用页面切换时执行本方法,能够使得所有应用页面都自动以系统栏沉浸风格展示在用户面前,从系统层面为用户提供良好的视觉效果。

附图说明

[0073] 图1是沉浸式状态栏的效果图;
[0074] 图2是现有状态栏沉浸方案可能出现的状态栏与应用页面割裂的效果图;
[0075] 图3是本申请的一种界面显示方法的实施例的流程图;
[0076] 图4是本实施例提供的获取与系统栏邻接的应用页面区域的背景信息的处理流程图;
[0077] 图5是本申请的一种界面显示装置的实施例的示意图;
[0078] 图6是本申请的一种电子设备的实施例的示意图。

具体实施方式

[0079] 在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施的限制。
[0080] 在本申请中,分别提供了一种界面显示方法,一种界面显示装置,以及一种电子设备,在下面的实施例中逐一进行详细说明。为了便于理解,在描述具体实施例之前先对本申请的技术方案涉及的概念作简要说明。
[0081] 为了便于用户了解设备信息,很多电子设备,例如移动终端设备,通常通过位于显示界面顶部的状态栏、以图标或者文字形式向用户提供关于设备系统层面的信息,例如:无线信号强度、网络连接状态、电池电量、当前时间等。此外,对于一些电子设备,例如智能手机,为了扩展显示屏幕的尺寸,取消了位于设备底部的用于导航的实体键,而代之以位于显示界面底部的导航栏,也称虚拟按键栏,其中包括:返回按键、桌面按键、最近应用按键等虚拟按键。
[0082] 上述状态栏和导航栏都是从系统层面向用户提供服务的:向用户提供系统层面的信息、或者便于用户执行系统层面的操作。在本申请中,将在电子设备界面上显示的、从系统层面向用户提供服务的栏目或者控件统称为系统栏,所述系统栏包括但不限于上述的状态栏和导航栏,例如,叠加在应用页面上的类似图标形状的系统栏目或者系统控件,也属于本申请所述的系统栏。
[0083] 在电子设备的显示界面上,除了显示上述系统栏之外,通常还显示应用程序,以智能手机为例,位于状态栏以下的区域通常是应用程序的显示区域。一个应用程序通常包含多个应用页面,每个页面上可以包含一个或者多个控件。例如,为了便于用户在不同的应用页面之间切换,智能手机上的应用程序通常会在其页面顶部设计一个操作栏,也称为ActionBar,用于在多个页面的层级结构之间导航,也可以用来管理页面信息,而位于操作栏以下应用页面部分也称为应用页面的内容区域。
[0084] 基于上述界面显示方式,本申请所述的与系统栏邻接的应用页面区域的背景信息通常是指,在视觉效果上与所述系统栏相邻显示的局部应用页面的背景信息。以状态栏为例,如果在应用页面顶部显示ActionBar控件,那么与状态栏邻接的应用页面区域的背景信息通常是指ActionBar控件的背景信息;如果在应用页面顶部未显示ActionBar控件或者其它控件,那么与状态栏邻接的应用页面区域的背景信息则通常是指所述应用页面的背景信息。
[0085] 所述背景信息包括:体现与系统栏邻接的应用页面区域的背景色的相关信息。所述背景信息包括但不限于背景图片、背景颜色,其它能够从所述应用页面区域获取的、并且可以体现出其背景色的信息,也属于本申请所述的背景信息。
[0086] 下面对本申请的实施例作详细描述。由于目前移动终端设备应用比较广泛,而状态栏是移动终端设备中比较常见的一种系统栏,为了便于理解,本实施例以实现移动终端设备中的状态栏沉浸为例进行描述,但是本方法的应用场景并不局限于移动终端设备。
[0087] 请参考图3,其为本申请的一种界面显示方法的实施例的流程图。所述方法包括如下步骤:
[0088] 步骤301:获取与系统栏邻接的应用页面区域的背景信息。
[0089] 本实施例的技术方案通过获取与状态栏邻接的应用页面区域的背景信息,并根据获取到的背景信息,设置状态栏的背景,从而用户无需执行额外操作,就可以实现当前应用页面与状态栏浑然一体的沉浸效果。优选地,为了使移动终端设备中的应用页面在应用启动或者页面切换时能够自动地以状态栏沉浸风格展示在用户面前,本实施例监测页面更替、并在监测到所述更替时,执行上述获取及设置操作,从而从整个系统层面为用户提供良好的视觉效果。具体说,包括如下步骤301-1至301-3,下面结合附图4作进一步说明。
[0090] 步骤301-1:监测在界面上显示的应用页面的更替。
[0091] 移动终端设备上安装的应用程序可能仅包含一个应用页面,也可能包含两个或者两个以上的应用页面,对于后者,这些页面通常按照一定的层级结构组织,并可以根据用户的操作在不同层级的应用页面之间切换。
[0092] 如果用户单击移动终端设备在当前显示桌面上的某个应用图标,通常会启动一个应用,并在当前界面上显示所述应用的首页面;如果在当前运行的应用内部,用户点击用于执行页面跳转功能的控件(例如按钮),则可以在本应用不同层级的应用页面之间进行切换显示。
[0093] 本步骤可以监测在界面上显示的上述应用页面的更替,该更替可能是启动应用引起的,也可能是当前运行的应用内部的页面切换引起的。在具体实施时,可以通过移动终端设备的页面管理程序监测上述应用页面的更替,所述页面管理程序通常是指,以后台方式运行的、用于管理页面调度的服务监控程序。
[0094] 例如,以采用Android系统的智能手机为例,可以通过系统中的页面管理器实现这一功能。具体说,在智能手机中安装的每个应用,都可以将其包含的页面向系统注册,从而每个页面都有一个对应的字符串作为标识,也即页面地址。那么当用户启动应用、或者是在应用内部切换页面时,页面管理器通常会收到应用发送的相应消息,页面管理器根据接收到的消息展示相应的应用页面:如果是启动应用,则显示该应用的首页面,如果是页面切换,则显示切换后的目的页面。
[0095] 在本步骤中,页面管理器接收到来自应用的上述消息并进行相应的页面显示时,就说明监测到相应的页面更替事件。在具体实施时,可以仅在监测到应用启动时,或者仅在监测到应用内部页面切换时执行本实施例的后续步骤。作为一种优选实施方式,可以对上述两种页面更替事件都进行监测,并在每次监测到页面更替时,针对当前界面上显示的、更替后的应用页面,执行本实施例的后续步骤,采用这种方式,能够使得移动终端设备中的所有应用页面都自动地以系统栏沉浸风格展示在用户面前,从系统层面为用户提供良好的视觉效果。
[0096] 步骤301-2:在更替后的应用页面上,查找与系统栏邻接的应用页面区域。
[0097] 由于已经在上述步骤301-1中监测到页面更替,在当前界面上显示的是更替后的应用页面,这时可以在该应用页面中查找与状态栏邻接的应用页面区域,并获取该区域的背景信息。
[0098] 在本实施例中采用遍历控件的方式查找与状态栏邻接的应用页面区域。之前已经提到过,应用页面中通常包含多个控件,例如操作栏、按钮、文本框等,而且为了便于管理,应用页面通常将这些控件采用树形结构组织在一起,因此本步骤可以采用递归查找的方式从树形结构的根节点开始,遍历整个树形结构中的每一个控件,并且针对每个控件,根据其在界面中的显示位置信息判断其是否为与状态栏邻接的控件。
[0099] 具体说,在遍历的过程中,针对当前找到的每个控件,可以先判断该控件的宽度是否小于等于界面的宽度,若是,则获取该控件在界面上的显示位置信息,从中提取其左上角的y坐标(纵向坐标),并计算该坐标与状态栏左下角的y坐标之间的差值。按照上述方式完成遍历操作后,从所有被遍历的控件中选取上述差值最小的控件,即最靠近状态栏的控件,该控件即为本次查找得到的与状态栏邻接的应用页面的顶部控件。
[0100] 如果在上述遍历过程中,找到了两个或者两个以上的控件,都满足其左上角与状态栏左下角的y坐标的差值最小的条件,这种情况主要是因为应用页面中的控件之间可能存在重叠引起的。这时可以进一步根据控件的高度(即控件在竖直方向的尺寸)进行选择,由于高度值小的控件通常覆盖在其他控件之上,因此可以从中选择高度值最小的控件,作为与状态栏邻接的应用页面的顶部控件。
[0101] 需要说明的是,如果应用页面不包含顶部控件,在这种情况下,本步骤找到的与状态栏邻接的应用页面区域可以是应用页面本身,因为应用页面通常是树型结构中的最顶层控件。
[0102] 步骤301-3:获取所述应用页面区域的背景信息。
[0103] 找到所述应用页面区域后,可以获取该区域的背景信息。例如可以通过移动终端设备的系统平台提供的接口获取该信息,以Android系统为例,如果在上述步骤301-2中找到了与状态栏邻接的应用页面顶部控件,那么本步骤中就可以针对所述控件尝试调用系统提供的接口获取所述控件的背景信息。具体说,可以包括以下两个操作:
[0104] 调用getBackground()或者类似接口获取为该控件设置的背景图片;
[0105] 调用getBackgroundColor()或者类似接口获取为该控件设置的背景颜色。
[0106] 由于一个控件可能具有背景图片或者背景颜色这两种设置信息中的任一种,因此在具体实施时,可以采用尝试的策略获取上述设置信息。例如,可以先尝试获取背景图片,如果未成功,则继续尝试获取背景颜色;也可以先尝试获取背景颜色,如果未成功,则继续尝试获取背景图片。
[0107] 对于获取的背景信息是背景图片的情况,由于后续可能对背景图片进行处理,并设置为状态栏的背景图片,因此本步骤可以对获取的背景图片进行复制,并在后续步骤302中使用复制得到的背景图片进行所需的处理以及设置等操作。
[0108] 至此,上述步骤301-1至步骤301-3给出了通过遍历控件获取与状态栏邻接的应用页面区域的背景信息的实施方式,在其他实施方式中,也可以采用其他方式获取所述背景信息,例如,通过截图的方式获取。
[0109] 具体说,可以通过屏幕截图的方式获取在当前界面上显示的应用页面的图像,按照应用页面顶部控件的常规尺寸从该图像的顶部截取相应尺寸的顶部图片,然后从该图片中读取预定数量(例如20个或者50个)的像素点的颜色值,根据这些像素点的颜色值进行聚类,将颜色值在一定范围内的像素点划分为一类,然后选取包含像素点最多的类别,计算该类别中的像素点的颜色均值,并用计算得到的颜色均值作为与状态栏邻接的应用页面区域的背景色。也可以采用所述颜色均值填充所述截取的顶部图片,并将得到的顶部图片作为与状态栏邻接的应用页面区域的背景图片。
[0110] 步骤302:根据所述背景信息,相应地设置所述系统栏的背景。
[0111] 如果在步骤301中获取到的背景信息是背景图片,由于背景图片的尺寸与状态栏的尺寸可能并不一致,在这种情况下,如果将获取的背景图片设置为状态栏的背景图片,可能会设置失败,也可能设置成功但是显示效果并不理想。针对这种情况,可以先对所述背景图片进行处理,使得背景图片的尺寸与状态栏的尺寸一致,适合作为所述状态栏的背景显示。
[0112] 上述对背景图片进行处理包括:裁剪处理、拉伸处理、旋转处理等,下面对这几类处理分别进行说明。
[0113] 1)裁剪处理
[0114] 如果步骤301获取的背景图片的尺寸大于所述状态栏的尺寸,则可以通过裁剪处理使得背景图片的宽度(在水平方向上的尺寸)和/或高度(在竖直方向上的尺寸)与所述状态栏一致。例如,如果从顶部控件获取的背景图片的宽度与状态栏的宽度一致,而高度大于状态栏的高度,则可以通过剪裁使所述背景图片的高度与状态栏的高度一致。
[0115] 根据移动终端设备采用的系统平台的不同,可以调用不同的系统接口实现上述图片裁剪功能。例如,如果在Android系统上采用Java开发语言实现本技术方案,则可以以步骤301获取的背景图片、裁剪的起始位置信息、裁剪后图片的宽度和高度等作为入口参数,调用Bitmap类的createBitmap()方法,从而得到裁剪后的、与状态栏的宽度和高度一致的背景图片。
[0116] 2)拉伸处理
[0117] 同样的道理,如果步骤301获取的背景图片的尺寸小于状态栏的尺寸,则可以通过拉伸处理使得所述背景图片的宽度和/或高度与所述状态栏一致。
[0118] 仍以在Android系统上采用Java开发语言实现本技术方案为例,为了实现背景图片的拉伸操作,可以通过计算状态栏的宽度与背景图片的宽度的比值、状态栏的高度与背景图片的高度的比值,获取拉伸操作的拉伸比例,并用该拉伸比例计算拉伸矩阵Matrix,然后以步骤301获取的背景图片、拉伸的起始位置信息、拉伸后图片的宽度和高度、以及上述拉伸矩阵Matrix等为入口参数,调用Bitmap类的createBitmap()方法,从而得到拉伸后的、与状态栏的宽度和高度一致的背景图片。
[0119] 3)旋转处理
[0120] 对于某些具有特定图案的背景图片,位于图片上边缘和下边缘处的图案可能并不对称,这种情况下,如果直接将所述背景图片设置为状态栏的背景图片,可能无法获取良好的显示效果。针对这种情况,可以对所述背景图片进行旋转处理,以改善显示效果。例如对所述背景图片进行180度旋转,使得其作为状态栏的背景显示后,能够与应用页面邻接部分的图案比较好地对接或者吻合。
[0121] 仍以在Android系统上采用Java开发语言实现本技术方案为例,为了实现背景图片的旋转操作,可以生成旋转矩阵Matrix,并为该矩阵设置旋转角度,例如180度,然后以步骤301获取的背景图片、旋转的起始位置信息、旋转后图片的宽度和高度、以及上述设置好旋转角度的旋转矩阵等作为入口参数,调用Bitmap的createBitmap()方法,从而得到旋转后的背景图片。
[0122] 至此,描述了为了使所述背景图片适合作为状态栏的背景显示、所采用的三种背景图片处理方式。需要说明的是,在具体实施时,上述三种处理方式可以单独使用,也可以联合使用,例如,可以先裁剪再旋转。也可以在上述三种方式的基础上作一些变更处理,例如:对于与状态栏尺寸不同的背景图片,也可以直接使用上述拉伸方式处理,只要将其中的Matrix设置为相应的缩放比例,就可以相应地获取缩小或者拉伸后的背景图片;此外,当背景图片的尺寸小于状态栏的尺寸时,也可以采用拼接的方式,使得背景图片的尺寸与状态栏的尺寸一致。
[0123] 上面描述的实施方式,以及不同于上述实施方式的其他变更方式,只要能够使得所述背景图片与状态栏的尺寸一致、适合作为状态栏的背景显示,就都不偏离本技术方案的核心,因此都在本申请的保护范围之内。
[0124] 获取背景信息后(或者对背景图片进行了上述处理后),可以根据所述背景信息,对状态栏的背景进行设置。在具体实施中,可以采用如下两种方式:
[0125] 1)调用系统接口实现。
[0126] 如果移动终端设备的系统平台提供了设置状态栏背景图片或者背景颜色的接口,那么本步骤就可以以在步骤301中获取的背景图片或者背景颜色作为入口参数,直接调用该接口实现所述状态栏的背景设置。
[0127] 2)通过增加底层控件实现。
[0128] 如果系统平台未提供相应的设置接口,那么可以通过添加底层控件实现。具体说,首先将所述状态栏的背景色设置为透明,例如在android平台可以通过调用以下方法或者类似的方式实现状态栏的透明:
[0129] getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
[0130] 然后在所述状态栏的相同位置添加一个同等大小的空白控件,并根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。所述空白控件是指没有显示文本、字符串等前景信息的控件。仍以Android系统平台为例,如果背景信息是背景图片,可以以所述背景图片作为入参,针对该空白控件调用setBackgroundDrawable()或者SetBackgroundResource()等类似函数将所述背景图片设置为其背景;如果背景信息是背景颜色,可以以所述背景颜色的颜色值作为入参,针对该空白控件调用setBackgroundColor()等类似函数,从而将所述背景颜色设置为该空白控件的背景颜色。
[0131] 由于状态栏在显示界面中所处的层级通常是最高的,即处于最顶层的位置,也就是说,状态栏是叠加在新增控件上方的,而状态栏已经被设置为透明背景,因此就会显示出状态栏上的图标和文字信息叠加在新增控件的背景图片或者背景色上的展示效果。由于背景图片或者背景色是从与状态栏邻接的应用页面区域获取的,因此状态栏与相邻的应用页面区域的背景图片或者背景色是一致的,从而实现了状态栏沉浸的效果。
[0132] 至此,通过上述步骤301至步骤302对本技术方案的实施方式进行了详细描述。在具体实施本技术方案时,还可以在步骤301后判断是否成功获取到所述背景信息,例如,采用遍历控件的方式找到与状态栏邻接的顶部控件后,在采用调用系统接口的方式获取所述顶部控件的背景颜色或者背景图片时,如果上述操作返回的是代表失败的值、或者返回的指向背景信息的指针为空指针,即,没有一个操作是成功的,那么通常说明该顶部控件没有设置背景颜色或者背景图片等背景信息,在这种情况下,就可以不执行步骤302。
[0133] 需要说明的是,本实施例是以实现状态栏沉浸效果为例进行的描述,但是本技术方案不仅可以实现状态栏沉浸,也可以实现其他系统栏的沉浸效果。例如:如果电子设备的界面不仅包含状态栏还有底部导航栏,那么在步骤301中不仅可以获取与状态栏邻接的应用页面区域(例如顶部控件)的背景信息,还可以获取与底部导航栏邻接的应用页面区域(例如底部控件)的背景信息,并在成功获取上述信息的情况下,在步骤302中根据上述背景信息相应地设置状态栏以及底部导航栏的背景,从而实现状态栏和底部导航栏的沉浸效果。
[0134] 综上所述,本实施例提供的界面显示方法,不仅可以使得系统栏背景与相邻应用页面区域背景的展示效果协调一致,实现应用页面与系统栏浑然一体的沉浸效果,而且由于本方法能够主动获取在当前界面上显示的、与系统栏邻接的应用页面区域的背景信息、并采用该信息设置系统栏的背景,因此用户无需执行额外的颜色选取操作,在简化操作步骤、提高效率的同时,还能够避免出现系统栏与应用页面的背景色调一致却与相邻控件色调不一致的割裂效果。特别是,在监测到应用页面更替时执行本方法,能够使得所有应用页面都以系统栏沉浸风格展示在用户面前,从系统层面为用户提供良好的视觉效果。
[0135] 上述的实施例中,提供了一种界面显示方法,与之相对应的,本申请还提供一种界面显示装置。请参看图5,其为本申请的一种界面显示装置的实施例示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
[0136] 本实施例的一种界面显示装置,包括:应用背景获取单元501,用于获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;系统栏背景设置单元502,用于根据所述背景信息,相应地设置所述系统栏的背景。
[0137] 可选的,所述装置包括:
[0138] 页面更替监测单元,用于监测在界面上显示的应用页面的更替;
[0139] 所述应用背景获取单元具体用于,在所述页面更替监测单元监测到应用页面的更替后,针对更替后的应用页面,获取与系统栏邻接的应用页面区域的背景信息。
[0140] 可选的,所述页面更替监测单元至少包括以下子单元之一:
[0141] 应用启动监测子单元,用于监测应用的启动;
[0142] 页面切换监测子单元,用于监测应用内部不同页面间的切换。
[0143] 可选的,所述页面更替监测单元具体用于,通过页面管理程序监测在界面上显示的应用页面的更替。
[0144] 可选的,所述应用背景获取单元获取的背景信息包括:背景图片、或者背景颜色;
[0145] 所述系统栏背景设置单元具体用于,根据所述背景信息,相应地设置所述系统栏的背景图片或者背景颜色。
[0146] 可选的,所述应用背景获取单元执行获取背景信息操作所涉及的系统栏包括:位于界面顶部的状态栏、和/或位于界面底部的导航栏。
[0147] 可选的,当所述应用背景获取单元执行获取背景信息操作所涉及的系统栏为位于界面顶部的状态栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的顶部控件;
[0148] 当所述应用背景获取单元执行获取背景信息操作所涉及的系统栏为位于界面底部的导航栏时,所述与系统栏邻接的应用页面区域包括:所述应用页面的底部控件。
[0149] 可选的,所述应用背景获取单元包括:
[0150] 控件遍历子单元,用于遍历所述应用页面中的所有控件;
[0151] 邻接判断子单元,用于针对所述控件遍历子单元遍历的每个控件,根据其在界面中的显示位置信息判断是否为与所述系统栏邻接的控件;
[0152] 背景信息获取子单元,用于当所述邻接判断子单元的输出为是时,获取所述控件的背景信息。
[0153] 可选的,当所述应用背景获取单元获取的背景信息为背景图片时,所述装置还包括:
[0154] 图片处理单元,用于在触发所述系统栏背景设置单元之前,对所述背景图片进行处理,使其适合作为所述系统栏的背景显示。
[0155] 可选的,所述图片处理单元至少包括以下子单元之一:
[0156] 裁剪处理子单元,用于对所述背景图片进行裁剪处理,使其宽度和/或高度与所述系统栏一致;
[0157] 拉伸处理子单元,对所述背景图片进行拉伸处理,使其宽度和/或高度与所述系统栏一致;
[0158] 旋转处理子单元,用于对所述背景图片进行旋转处理。
[0159] 可选的,所述系统栏背景设置单元具体用于,通过调用系统提供的系统栏背景设置接口,相应地设置所述系统栏的背景图片或者背景颜色。
[0160] 可选的,所述系统栏背景设置单元包括:
[0161] 系统栏透明设置子单元,用于将所述系统栏的背景色设置为透明;
[0162] 空白控件添加子单元,用于在所述系统栏的相同位置添加一个同等大小的空白控件;
[0163] 控件背景设置子单元,用于根据所述背景信息相应地设置所述空白控件的背景图片或者背景颜色。
[0164] 在上述的实施例中,提供了一种界面显示方法以及一种界面显示装置,此外,本申请还提供了一种电子设备;所述电子设备实施例如下:
[0165] 请参考图6,其示出了本申请的一种电子设备的实施例的示意图。
[0166] 所述电子设备,包括:显示器601;处理器602;存储器603;
[0167] 所述存储器603用于存储界面显示程序,所述程序在被所述处理器读取执行时,执行如下操作:获取与系统栏邻接的应用页面区域的背景信息,所述背景信息包括:体现所述应用页面区域的背景色的相关信息;根据所述背景信息,相应地设置所述系统栏的背景。
[0168] 本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。
[0169] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0170] 内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
[0171] 1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0172] 2、本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。