窗口显示方法及装置与流程

文档序号:16098109发布日期:2018-11-27 23:49阅读:170来源:国知局

本公开涉及终端技术领域,尤其涉及窗口显示方法及装置。



背景技术:

目前,安装有原生安卓系统的全面屏手机等终端,并不支持对窗口的属性信息进行处理,这就限制了安装安卓系统的终端的功能,也影响了用户体验。例如:

为了配合全面屏的设计,越来越多的手机屏幕被制作成圆角的形状,这使得原本是矩形的应用窗口,在全屏状态下由于屏幕的关系而变成了圆角矩形。但是当应用窗口不再全屏(如缩小窗口或者通过全面屏手势拖动窗口)时,就会变成直角矩形的形状,视觉上会有突变的感觉。



技术实现要素:

本公开实施例提供了窗口显示方法及装置。所述技术方案如下:

根据本公开实施例的第一方面,提供一种窗口显示方法,包括:

在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

将处理后的所述目标应用窗口进行显示。

在一个实施例中,所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在监测到所述第一操作时,遍历未关闭窗口;

从所述未关闭窗口中获取所有的应用窗口;

将所述所有的应用窗口中存在图层对象的窗口确定为所述目标应用窗口。

在一个实施例中,所述根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,包括:

确定所述目标应用窗口对应的目标根视图;

根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,使得所述目标应用窗口边角的属性信息与所述屏幕边角的属性信息一致。

在一个实施例中,所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在系统服务进程监测到所述第一操作时,所述系统服务进程获取所述目标应用窗口;

所述确定所述目标应用窗口对应的目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,包括:

目标进程在接收到所述系统服务进程发送的对所述目标应用窗口进行裁剪的通知后,确定所述目标根视图,并根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,其中,所述目标进程为所述目标应用窗口所属的应用对应的进程。

在一个实施例中,在裁剪所述目标根视图之后,所述方法还包括:

将所述目标应用窗口的背景的颜色和透明度分别进行调整,使得所述背景的颜色为白色,所述透明度为预设透明度。

在一个实施例中,所述方法还包括:

在监测到第二操作时,撤销对所述目标应用窗口的处理,将所述目标应用窗口调整为全面屏窗口,其中,所述第二操作用于指示撤销裁剪。

在一个实施例中,所述第一操作包括以下任一项:

将窗口由全面屏显示方式缩小为非全面屏显示方式,以及在非全面屏显示方式下进行窗口缩放操作。

根据本公开实施例的第二方面,提供一种窗口显示装置,包括:

获取模块,用于在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

处理模块,用于根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

显示模块,用于将处理后的所述目标应用窗口进行显示。

在一个实施例中,所述获取模块包括:

遍历子模块,用于在监测到所述第一操作时,遍历未关闭窗口;

第一获取子模块,用于从所述未关闭窗口中获取所有的应用窗口;

确定子模块,用于将所述所有的应用窗口中存在图层对象的窗口确定为所述目标应用窗口。

在一个实施例中,所述处理模块包括:

处理子模块,用于确定所述目标应用窗口对应的目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,使得所述目标应用窗口边角的属性信息与所述屏幕边角的属性信息一致。

在一个实施例中,所述获取模块包括:

第二获取子模块,用于在系统服务进程监测到所述第一操作时,通过所述系统服务进程获取所述目标应用窗口;

所述处理子模块包括:

处理单元,用于在目标进程接收到所述系统服务进程发送的对所述目标应用窗口进行裁剪的通知后,通过所述目标进程确定所述目标根视图,并根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,其中,所述目标进程为所述目标应用窗口所属的应用对应的进程。

在一个实施例中,在裁剪所述目标根视图之后,所述装置还包括:

调整模块,用于将所述目标应用窗口的背景的颜色和透明度分别进行调整,使得所述背景的颜色为白色,所述透明度为预设透明度。

在一个实施例中,所述装置还包括:

撤销模块,用于在监测到第二操作时,撤销对所述目标应用窗口的处理,将所述目标应用窗口调整为全面屏窗口,其中,所述第二操作用于指示撤销裁剪。根据本公开实施例的第三方面,提供了一种窗口显示装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

将处理后的所述目标应用窗口进行显示。

根据本公开实施例的第四方面,提供了一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现第一方面实施例所述方法的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

在监测到第一操作时,通过获取当前显示的目标应用窗口,可根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,进而将处理后的所述目标应用窗口进行显示,如此,既丰富了安装有安卓操作系统的终端的功能,使得窗口在非全面屏显示状态时与屏幕边角的属性信息相一致,视觉上不再呈现窗口突变的感觉,且由于可实现对真实窗口的属性信息进行处理以替代对截图的裁剪,因而可支持的场景更多,且能支持动态场景的显示。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。

图1是根据一示例性实施例示出的一种窗口显示方法的流程图。

图2是根据一示例性实施例示出的另一种窗口显示方法的流程图。

图3是根据一示例性实施例示出的又一种窗口显示方法的流程图。

图4是根据一示例性实施例示出的再一种窗口显示方法的流程图。

图5是根据一示例性实施例示出的一种窗口显示装置的框图。

图6是根据一示例性实施例示出的另一种窗口显示装置的框图。

图7是根据一示例性实施例示出的又一种窗口显示装置的框图。

图8是根据一示例性实施例示出的再一种窗口显示装置的框图。

图9是根据一示例性实施例示出的一种适用于窗口显示装置的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

目前,安装有原生安卓系统的全面屏手机等终端,并不支持对窗口的属性信息进行处理(如对窗口的大小和形状进行处理),这就限制了安装安卓系统的终端的功能,也影响了用户体验。例如:

为了配合全面屏的设计,越来越多的手机屏幕被制作成圆角的形状,这使得原本是矩形的应用窗口,在全屏状态下由于屏幕的关系而变成了圆角矩形。但是当应用窗口不再全屏(如缩小窗口,通过全面屏手势拖动窗口)时,就会变成直角矩形的形状,视觉上会有突变的感觉。

为了解决在视觉上产生窗口形状突变的感觉,有些厂商的解决方案为:将当前要裁剪的应用窗口进行截图,将获取到的截图绘制到一个透明窗口上,之后对这个截图进行圆角裁剪的操作,以模拟出将窗口被裁剪成圆角矩形的效果,从而使得窗口在视觉上形状与屏幕形状保持一致。

但该方案存在以下几个缺点:

(1)支持的场景少

由于采用的是截图替代真实窗口的方案,因而局限性较大,只能使用在一些特殊的场景,如需要第三方厂商必须支持能够通过对截图进行裁剪来模拟对窗口进行裁剪的功能。然而像系统过渡动画(如当前窗口退回到桌面时的动画)这种原生场景中,由于会发生真实窗口的缩小行为,因而,并无法适用。

(2)无法支持动态场景

该方案只能对截图进行裁剪,而截图只能是静态的,无法体现出窗口内部的动态行为。

为了解决上述技术问题,本公开实施例提供了一种窗口显示方法,该方法可用于窗口显示程序、系统或装置中,且该方法对应的执行主体可以是全面屏手机等终端,如图1所示,该方法包括步骤S101至步骤S103:

在步骤S101中,在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

在步骤S102中,根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

在步骤S103中,将处理后的所述目标应用窗口进行显示。

在监测到第一操作时,通过获取当前显示的目标应用窗口,可根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,进而将处理后的所述目标应用窗口进行显示,如此,既丰富了安装有安卓操作系统的终端的功能,使得窗口在非全面屏显示状态时与屏幕边角的属性信息相一致,视觉上不再呈现窗口突变的感觉,且由于可实现对真实窗口的属性信息进行处理以替代对截图的裁剪,因而可支持的场景更多,且能支持动态场景的显示。

如图2所示,在一个实施例中,上述图1中步骤S101,即在监测到第一操作时,获取当前显示的目标应用窗口,可以包括:

在步骤S201中,在监测到第一操作时,遍历未关闭窗口;

未关闭窗口可以包括运行在前台和后台的应用中被用户打开的窗口。

在步骤S202中,从未关闭窗口中获取所有的应用窗口;

其中,未关闭窗口可以包括应用窗口,状态栏、输入法窗口等系统级窗口。

在步骤S203中,将所有的应用窗口中存在图层对象的窗口确定为目标应用窗口。

在监测到该第一操作时,通过遍历未关闭窗口,可获取未关闭窗口中所有的应用窗口,且由于应用窗口中若底层存在图层对象,说明该应用窗口当前可见,因而,可将所有的应用窗口中存在图层对象的窗口准确确定为目标应用窗口。

该实施例可按照以下方式执行:

在系统的system server进程(系统服务进程)中获取表示当前主屏幕的DisplayContent对象(展示内容对象),进而通过该对象遍历未关闭的全部窗口(WindowState对象),即可将可见的应用窗口过滤出来。而判断当前可见的应用窗口的逻辑为:判断窗口(即WindowState对象)是否有AppWindowToken对象(即是否是应用窗口),进而判断应用窗口的可见性(即判断是否在底层有对应的Layer对象),然后将满足上述条件的窗口(即当前显示的目标应用窗口)保存起来。

在一个实施例中,上述图1所示的步骤S102,即所述根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,可被执行为:

确定所述目标应用窗口对应的目标根视图;

其中,每个应用程序都有对应的根视图(即根View),且不同应用程序对应的根视图不同,且根View是一个应用中所有View的父View,而每个View本质上是一个控件,且一个应用的根View本质上是该应用中所有控件的父控件。

根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,使得所述目标应用窗口边角的属性信息与所述屏幕边角的属性信息一致。

由于安卓原生系统支持对根视图的裁剪,同时根视图的尺寸与应用窗口的尺寸又相同,因而,通过裁剪目标根视图,可以达到裁剪目标应用窗口的效果,如此,既丰富了安装有安卓原生系统的终端的功能,使得窗口在非全面屏显示状态时视觉上不再呈现窗口突变的感觉,且由于可实现真实窗口的裁剪以替代对截图的裁剪,因而可支持的场景更多,且能支持动态场景的显示。

例如:屏幕边角是圆角矩形时,可将目标根视图的边角自动裁剪为圆角矩形,同时如果该屏幕边角的圆角是圆的一部分,则在裁剪目标根视图时,将目标根视图的边角按照屏幕边角对应的圆的半径进行自动裁剪,使得裁剪后的目标根视图的圆角与屏幕边角的圆角的半径保持一致。

在一个实施例中,上述图1所示的步骤S101,即在监测到第一操作时,获取当前显示的目标应用窗口,可被执行为:

在系统服务进程监测到第一操作时,系统服务进程获取目标应用窗口;

确定目标应用窗口对应的目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,可被执行为:

目标进程在接收到系统服务进程发送的对目标应用窗口进行裁剪的通知后,确定目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,其中,目标进程为目标应用窗口所属的应用对应的进程。

系统服务进程在监测到上述第一操作并获取到目标应用窗口后,会通知目标进程进行窗口裁剪操作,而目标进程在接收到上述通知后,会根据该目标应用窗口的标识确定其对应的根视图,进而通过裁剪该目标根视图来实现对目标应用窗口的自动裁剪。

该实施例的具体执行过程可以如下(其中,上述目标应用窗口在system server进程中通过WindowManagerService(窗口管理服务)管理,在客户端进程(即上述目标应用窗口所属的应用对应的进程)中通过ViewRootImpl管理):

系统system server进程在获取到上述目标应用窗口后,WindowManagerService与ViewRootImpl会通过IWindow.aidl接口搭建起Binder通讯机制进行IPC(Inter-Process Communication,进程间通信),由此可以达到system server进程通知客户端进程进行裁剪圆角的相关操作的目的。

而客户端进程的ViewRootImpl组件收到裁圆角的通知后,会查找当前窗口的根View(即根视图),准备对根View进行裁剪圆角的操作。系统中的应用窗口的根View统一是应用的DecorView(顶级视图,又可称为根视图),它是该应用中所有View的父View,所以获取到的根View就是该应用窗口的DecorView.

找到根View(即目标应用窗口的DecorView)后,使用Android中原生API(Application Programming Interface,应用程序编程接口)对其进行圆角裁剪的操作。由于DecorView也是一种View(Android组件的基本类型),其自身支持了圆角裁剪的API(Application Programming Interface,应用程序编程接口),因而,通过该API可以达到对DecorView进行圆角裁剪的目的。且由于DecorView是所有应用窗口的View的父View,其区域和应用窗口同样大,所以对其圆角裁剪后可以达到整个窗口被裁剪成圆角矩形的效果。

如图3所示,在一个实施例中,在裁剪目标根视图之后,方法还包括步骤S301:

在步骤S301中,将所述目标应用窗口的背景的颜色和透明度分别进行调整,使得所述背景的颜色为白色,所述透明度为预设透明度。

由于窗口的背景色通常是黑色的,因而对目标根视图裁剪后,窗口的黑色背景就会露出,这样看上去圆角像是被覆盖上去的,而不是裁剪出来的,因而为了达到圆角是被裁剪的效果,可将该目标应用窗口的背景自动调整为白色,同时将其透明度调整为预设透明度(如调整为完全透明),从而呈现出圆角是被裁剪出来的效果。

该实施例的具体执行过程可以如下:

由于在将目标根视图进行圆角裁剪后,圆角位置会透出窗口原有的黑色背景,这样看上去圆角像是被覆盖上去的,而不是被裁剪出来的。为了达到圆角是被裁剪的效果,需要将窗口对应的Surface设置为透明,使圆角位置透出后面的内容,达到圆角被裁剪的效果。这里将回到系统system server进程中进行该操作,由于system server中的WindowManagerService组件可以通过SurfaceControl直接将底层窗口所对应的Surface设置为透明或不透明,因而,将Surface设置为透明后,圆角区域将会透出后面窗口的内容,从而呈现出圆角是被裁剪出来的效果,当然,也可将Surface的颜色设置为白色。

如图4所示,在一个实施例中,上述方法还包括步骤S401:

在步骤S401中,在监测到第二操作时,撤销对目标根视图的处理,将所述目标应用窗口调整为全面屏窗口,其中,所述第二操作用于指示撤销裁剪。

在监测到第二操作时,可自动撤销对目标根视图的裁剪,从而使得目标应用窗口恢复初始的状态,如此既可实现对窗口进行裁剪,又可方便地撤销窗口裁剪操作。

在一个实施例中,第一操作包括以下任一项:

将窗口由全面屏显示方式缩小为非全面屏显示方式,以及在非全面屏显示方式下进行窗口缩放操作。

第一操作包括但不限于由全面屏显示方式缩小为非全面屏显示方式、在非全面屏显示方式下进行窗口缩放操作(窗口变成非全面屏窗口后,对该窗口进行放大或者缩小操作),例如:还可以包括窗口变成非全面屏窗口后,进行窗口的移动。

最后,需要明确的是:本领域技术人员可根据实际需求,将上述多个实施例进行自由组合。

对应本公开实施例提供的上述窗口显示方法,本公开实施例还提供一种窗口显示装置,如图5所示,该装置包括:

获取模块501,被配置为在监测到第一操作时,获取当前显示的目标应用窗口,其中,第一操作用于指示将目标应用窗口的属性信息进行处理;

处理模块502,被配置为根据第一操作,对目标应用窗口的属性信息进行处理,使得目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,属性信息包括:尺寸和/或形状;

显示模块503,被配置为将处理后的目标应用窗口进行显示。

如图6所示,在一个实施例中,获取模块501可以包括:

遍历子模块5011,被配置为在监测到第一操作时,遍历未关闭窗口;

第一获取子模块5012,被配置为从未关闭窗口中获取所有的应用窗口;

确定子模块5013,被配置为将所有的应用窗口中存在图层对象的窗口确定为目标应用窗口。

在一个实施例中,处理模块502可以包括:

处理子模块,被配置为确定目标应用窗口对应的目标根视图,根据屏幕边角的属性信息裁剪目标根视图的边角,使得目标应用窗口边角的属性信息与屏幕边角的属性信息一致。

在一个实施例中,获取模块501可以包括:

第二获取子模块,被配置为在系统服务进程监测到第一操作时,通过系统服务进程获取目标应用窗口;

处理子模块包括:

处理单元,被配置为在目标进程接收到系统服务进程发送的对目标应用窗口进行裁剪的通知后,通过目标进程确定目标根视图,并根据屏幕边角的属性信息裁剪目标根视图的边角,其中,目标进程为目标应用窗口所属的应用对应的进程。

如图7所示,在一个实施例中,装置还包括:

调整模块701,被配置为在裁剪目标根视图之后,将目标应用窗口的背景的颜色和透明度分别进行调整,使得背景的颜色为白色,透明度为预设透明度。

如图8所示,在一个实施例中,装置还包括:

撤销模块801,被配置为在监测到第二操作时,撤销对目标应用窗口的处理,将目标应用窗口调整为全面屏窗口,其中,第二操作被配置为指示撤销裁剪。根据本公开实施例,还提供了一种窗口显示装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,处理器被配置为:

在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

将处理后的所述目标应用窗口进行显示。

上述处理器还可被配置为:

所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在监测到所述第一操作时,遍历未关闭窗口;

从所述未关闭窗口中获取所有的应用窗口;

将所述所有的应用窗口中存在图层对象的窗口确定为所述目标应用窗口。

上述处理器还可被配置为:

所述根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,包括:

确定所述目标应用窗口对应的目标根视图;

根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,使得所述目标应用窗口边角的属性信息与所述屏幕边角的属性信息一致。

上述处理器还可被配置为:

所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在系统服务进程监测到所述第一操作时,所述系统服务进程获取所述目标应用窗口;

所述确定所述目标应用窗口对应的目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,包括:

目标进程在接收到所述系统服务进程发送的对所述目标应用窗口进行裁剪的通知后,确定所述目标根视图,并根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,其中,所述目标进程为所述目标应用窗口所属的应用对应的进程。

上述处理器还可被配置为:

在裁剪所述目标根视图之后,所述方法还包括:

将所述目标应用窗口的背景的颜色和透明度分别进行调整,使得所述背景的颜色为白色,所述透明度为预设透明度。

上述处理器还可被配置为:

所述方法还包括:

在监测到第二操作时,撤销对所述目标应用窗口的处理,将所述目标应用窗口调整为全面屏窗口,其中,所述第二操作用于指示撤销裁剪。

上述处理器还可被配置为:

所述第一操作包括以下任一项:

将窗口由全面屏显示方式缩小为非全面屏显示方式,以及在非全面屏显示方式下进行窗口缩放操作。

图9是根据一示例性实施例示出的一种用于窗口显示装置900的框图,该装置适用于终端设备。例如,装置900可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个用户数字助理等。

参照图9,装置900可以包括以下一个或至少两个组件:处理组件902,存储器904,电源组件906,多媒体组件908,音频组件910,输入/输出(I/O)接口912,传感器组件914,以及通信组件916。

处理组件902通常控制装置900的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件902可以包括一个或至少两个处理器920来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件902可以包括一个或至少两个模块,便于处理组件902和其他组件之间的交互。例如,处理组件902可以包括多媒体模块,以方便多媒体组件908和处理组件902之间的交互。

存储器904被配置为存储各种类型的数据以支持在装置900的操作。这些数据的示例包括用于在装置900上操作的任何存储对象或方法的指令,联系用户数据,电话簿数据,消息,图片,视频等。存储器904可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。

电源组件906为装置900的各种组件提供电源。电源组件906可以包括电源管理系统,一个或至少两个电源,及其他与为装置900生成、管理和分配电源相关联的组件。

多媒体组件908包括在所述装置900和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或至少两个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件908包括一个前置摄像头和/或后置摄像头。当装置900处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。

音频组件910被配置为输出和/或输入音频信号。例如,音频组件910包括一个麦克风(MIC),当装置900处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器904或经由通信组件916发送。在一些实施例中,音频组件910还包括一个扬声器,用于输出音频信号。

I/O接口912为处理组件902和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。

传感器组件914包括一个或至少两个传感器,用于为装置900提供各个方面的状态评估。例如,传感器组件914可以检测到装置900的打开/关闭状态,组件的相对定位,例如所述组件为装置900的显示器和小键盘,传感器组件914还可以检测装置900或装置900一个组件的位置改变,用户与装置900接触的存在或不存在,装置900方位或加速/减速和装置900的温度变化。传感器组件914可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件914还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件914还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。

通信组件916被配置为便于装置900和其他设备之间有线或无线方式的通信。装置900可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件916经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件916还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。

在示例性实施例中,装置900可以被一个或至少两个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子组件实现。

在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器904,上述指令可由装置900的处理器920执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。

一种非临时性计算机可读存储介质,当所述存储介质中的指令由上述装置900的处理器执行时,使得上述装置900能够执行一种窗口显示方法,包括:

在监测到第一操作时,获取当前显示的目标应用窗口,其中,所述第一操作用于指示将所述目标应用窗口的属性信息进行处理;

根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,其中,所述属性信息包括:尺寸和/或形状;

将处理后的所述目标应用窗口进行显示。

在一个实施例中,所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在监测到所述第一操作时,遍历未关闭窗口;

从所述未关闭窗口中获取所有的应用窗口;

将所述所有的应用窗口中存在图层对象的窗口确定为所述目标应用窗口。

在一个实施例中,所述根据所述第一操作,对所述目标应用窗口的属性信息进行处理,使得所述目标应用窗口边角的属性信息与当前设备屏幕边角的属性信息一致,包括:

确定所述目标应用窗口对应的目标根视图;

根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,使得所述目标应用窗口边角的属性信息与所述屏幕边角的属性信息一致。

在一个实施例中,所述在监测到第一操作时,获取当前显示的目标应用窗口,包括:

在系统服务进程监测到所述第一操作时,所述系统服务进程获取所述目标应用窗口;

所述确定所述目标应用窗口对应的目标根视图,根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,包括:

目标进程在接收到所述系统服务进程发送的对所述目标应用窗口进行裁剪的通知后,确定所述目标根视图,并根据所述屏幕边角的属性信息裁剪所述目标根视图的边角,其中,所述目标进程为所述目标应用窗口所属的应用对应的进程。

在一个实施例中,在裁剪所述目标根视图之后,所述方法还包括:

将所述目标应用窗口的背景的颜色和透明度分别进行调整,使得所述背景的颜色为白色,所述透明度为预设透明度。

在一个实施例中,所述方法还包括:

在监测到第二操作时,撤销对所述目标应用窗口的处理,将所述目标应用窗口调整为全面屏窗口,其中,所述第二操作用于指示撤销裁剪。

在一个实施例中,所述第一操作包括以下任一项:

将窗口由全面屏显示方式缩小为非全面屏显示方式,以及在非全面屏显示方式下进行窗口缩放操作。

本领域技术用户员在考虑说明书及实践这里公开的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1