CN109828820B - 一种应用窗口的焦点刷新方法、装置、存储介质及终端 - Google Patents
一种应用窗口的焦点刷新方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN109828820B CN109828820B CN201910126533.7A CN201910126533A CN109828820B CN 109828820 B CN109828820 B CN 109828820B CN 201910126533 A CN201910126533 A CN 201910126533A CN 109828820 B CN109828820 B CN 109828820B
- Authority
- CN
- China
- Prior art keywords
- window
- application window
- application
- focus
- state
- 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.)
- Active
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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请实施例公开了应用窗口的焦点刷新方法、装置、存储介质及终端,所述方法包括:显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。因此,本申请实施例在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种应用窗口的焦点刷新方法、装置、存储介质及终端。
背景技术
在播放PPT的过程中,显示界面的焦点聚焦在该PPT的显示窗口上,即通过终端的批注应用的AccessibilityService功能检测到批注与PPT之间的链接通路处于通路状态,而一旦在使用过程中弹出第三方应用的窗口,那么显示界面的焦点就会自动从PPT的窗口转移到该第三方应用的窗口(弹窗)上,因而,用户可以正常操作该弹窗,但却导致批注应用监测不到PPT的窗口节点信息,进而导致批注与PPT之间的链接通路中断,而当关闭该弹窗之后,在不进行焦点恢复的情况下,PPT窗口处于失焦状态。
为解决PPT窗口失焦问题,现有技术中,通过创建一个透明Activity,并利用该Activity的创建与销毁刷新PPT窗口的焦点,触发批注的AccessibilityService进行焦点回调,从而恢复批注与PPT之间的链接通路。但是,该方案存在一个问题,在创建透明Activity后,还需要销毁该Activity,而从Activity的创建到销毁需要大概900ms,在这个900ms期间对目标应用的窗口进行操作都是无效的。因此,现有技术中,在不影响第三方窗口正常使用的前提下,对于窗口焦点的恢复操作比较耗时,进而导致窗口焦点恢复效率低。
发明内容
本申请实施例提供了一种焦点状态刷新方法、装置、存储介质及终端,可以解决在不影响第三方窗口正常使用的前提下,对于窗口焦点的恢复操作比较耗时,进而导致窗口焦点恢复效率低的问题。
第一方面,本申请实施例提供了一种应用窗口的焦点刷新方法,所述方法包括:
显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。
第二方面,本申请实施例提供了一种应用窗口的焦点刷新装置,所述装置包括:
窗口显示模块,用于显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
第二窗口输出模块,用于接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
第一窗口刷新模块,用于接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。
第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。
第四方面,本申请实施例提供一种终端,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。
本申请一些实施例提供的技术方案带来的有益效果至少包括:
本申请实施例的方案在执行时,终端显示采用目标应用监听的第一应用窗口,接收针对所述目标应用输入的交互操作,基于所述交互操作输出预设焦点状态为失焦状态的第二应用窗口,接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。由于将第二应用窗口预设为失焦状态,则可以确保在弹出第二应用窗口时,第一应用窗口与目标应用之间的链接通路不中断,进而可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口进行聚焦操作就可以为第二应用窗口分配焦点,因此,在确保第一应用窗口一直处于聚焦状态下可以快速恢复第二应用窗口的焦点,即在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种目标应用的窗口与第一应用窗口的展示效果示意图;
图2a是本申请实施例提供的一种第二应用窗口的界面示意图;
图2b是本申请实施例提供的一种第二应用窗口的界面示意图;
图2c是本申请实施例提供的一种第二应用窗口的界面示意图;
图3是本申请实施例提供的一种系统架构的结构示意图;
图4是本申请实施例提供的一种应用窗口的焦点刷新方法的流程示意图;
图5是本申请实施例提供的一种批注应用的显示效果示意图;
图6a是本申请实施例提供的一种聚焦操作控制的效果示意图;
图6b是本申请实施例提供的一种聚焦操作控制的效果示意图;
图6c是本申请实施例提供的一种聚焦操作控制的效果示意图;
图7是本申请实施例提供的一种应用窗口的焦点刷新方法的流程示意图;
图8是本申请实施例提供的一种应用窗口的焦点刷新装置的结构示意图;
图9是本申请实施例提供的一种第一窗口刷新模块的结构示意图;
图10是本申请实施例提供的一种应用窗口的焦点刷新装置的结构示意图;
图11是本申请实施例提供的一种第二窗口刷新模块的结构示意图;
图12是本申请实施例提供的一种终端的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请的描述中,需要理解的是,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本申请中的具体含义。此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
首先,对本申请实施例涉及到的一些名词进行解释:
第一应用窗口:指用户通过终端打开应用程序时,该应用程序在显示界面所显示的窗口。该应用程序可以是现有应用程序集合中的任一应用程序。当打开的应用程序包括多个时,每个应用程序分别对应一个窗口,而用户在其中所选择的窗口即为第一应用窗口。
例如,在当前显示界面显示有A应用程序、B应用程序和C应用程序,若用户选择了A应用程序,那么A应用程序对应的显示窗口即为第一应用窗口。
可选的,也可将用户打开的多个应用程序中,开启时间离当前时间最近的应用程序所对应的显示窗口确定为第一应用窗口,即打开了多个显示窗口,而最后打开的显示窗口为第一应用窗口。
通常,Android系统中的“窗口”类型虽然很多,但只有三大类是经常使用的:一个是由系统进程管理的,称之为“系统窗口”;另一个就是由应用程序产生的,用于显示UI界面的“应用窗口”;还一种是子window,该window不能单独存在,需要依附于父window,如dialog。在本申请实施例中所提及的窗口即为“应用窗口”。
另外,窗口本身不具有任何可见的内容,它对于应用程序的视图提供了一个基本的容器。而视图是指填充在该容器中的内容,例如,显示图像,文本,形状或其组合。在本申请实施例中,可以将窗口理解为包含视图的显示窗口,那么针对窗口输入的操作即为针对窗口中视图输入的操作。
在Android系统显示架构中,每一个要显示的视图所依托的窗口有一个类型区分,不同类型的窗口的视图显示的层次不同,位置不同,显示/销毁的过程不同等等。
目标应用:指用户所开启的指定应用程序(如批注应用程序),用于监听第一应用窗口的焦点情况,并与第一应用窗口形成链接通路。目标应用以透明窗口形式覆盖在第一应用窗口上,且该透明窗口不会获取当前显示界面的焦点,同时,所述目标应用以后台服务方式运行。
目标应用的窗口覆盖在第一应用窗口上,可以理解为,先开启的第一应用窗口,后开启的目标应用的窗口。两窗口可以完全重叠,也可以部分重叠。两窗口在显示界面上一种可行的展示方式如图1所示。
第二应用窗口:指用户操作目标应用时所弹出的交互窗口,且该第二应用窗口预设为失焦状态(NOT FOCUS),当弹出该第二应用窗口时,终端不需要向第二应用窗口分配焦点。第二应用窗口可以是目标应用的子窗口(如批注应用程序的视图),也可以是第三方应用程序的显示窗口。
第二应用窗口可以有多种形式,如文本输入框(如图2a所示)、选择输入框(如图2b所示)等。
第三应用窗口:指用户操作目标应用时所弹出的非交互窗口,且该第二应用窗口预设为失焦状态(NOT FOCUS),当弹出该第三应用窗口时,终端不需要向第三应用窗口分配焦点。第三应用窗口可以是目标应用的子窗口(如批注应用程序的视图),也可以是第三方应用程序的显示窗口。
第三应用窗口可以为信息提示框(如图2c所示)。
交互操作:指用户在终端显示界面进行操作而生成的指令,并由终端执行该指令,所强调的是用户与终端的交互。交互的方式有多种,如触摸操作,语音控制操作,手势控制操作等,此处不作具体限定。
例如,若第二应用窗口为图2a所示的形式,则需要用户在输入框中输入“用户名或邮件地址”以及“密码”,并点击“进入系统”后完成交互操作指令,而终端则对所输入的信息进行验证,并在验证通过后进入系统,从而实现系统登录操作。
又例如,若第二应用窗口为图2b所示的形式,则需要用户点击“确定”按钮而完成交互操作,同时,终端在接收到该操作后,再返回到信息输入界面。
当然,也存在非交互操作的情况。例如,若第二应用窗口为图2c所示的形式,则此窗口不需要用户进行任何输入操作,而只是进行提示,该窗口也会在设定时长后进行隐藏或关闭。
聚焦操作:指通过用户输入的触发终端为相应窗口分配焦点的操作。如,将光标移动到第二应用窗口的输入框中,终端在检测到该操作信号后,将焦点聚焦在第二应用窗口上。
失焦操作:指通过用户输入的触发终端不再为相应窗口分配焦点的操作。如,将光标从第二应用窗口的输入框中移动到该输入框外,或者点击输入完成确认控键等,终端在检测到该操作后,不再为第二应用窗口分配焦点。
焦点状态:包括聚焦状态(FOCUS)和失焦状态(NOT FOCUS)。
聚焦状态:指为窗口分配焦点,从而激活窗口相应功能的一种状态,例如,唤起软键盘从而可以进行信息输入。
其中,所述节点信息即为窗口所包含的元素以及元素属性信息,如元素标识、样式、在窗口上的位置等。
失焦状态:指不再为窗口分配焦点,对该窗口进行操作而不进行响应的一种状态,例如,软键盘未激活而无法进行信息输入。
需要说明的是,在本申请实施例中,目标应用只用于监听第一应用窗口的焦点信息,而针对第二应用窗口的聚焦或失焦操作,则由终端采用反射的方式(即本方案对第二应用窗口的焦点恢复的执行方式)执行。
请参见图3,为本申请实施例提供的一种系统架构的示意图。如图3中左图所示,所述系统架构可以包括终端1000,第一应用窗口2000以及目标应用的显示窗口3000,第一应用窗口2000以及目标应用的显示窗口3000重叠显示在终端1000的当前显示界面,且目标应用的显示窗口3000透明覆盖在第一应用窗口2000上。
目标应用的显示窗口3000为指定应用程序对应的窗口,该窗口不会获取当前显示界面的焦点。在未开启目标应用的显示窗口3000之前,显示界面的焦点聚焦在第一应用窗口2000上,而在开启了目标应用的显示窗口3000后,显示界面的焦点仍然会一直聚焦到第一应用窗口2000上,也就是说,通过目标应用对第一应用窗口的节点信息进行监听,若可以监听到该第一应用窗口的节点信息,则表明第一应用窗口对应的应用程序与目标应用之间建立了通信链路,且该通信链路处于通路状态;
当用户针对目标应用的显示窗口3000输入交互操作(如通过手指触摸第一窗口、通过语音输入控制指令、通过摄像头采集手势控制指令等)时,终端1000检测到该交互操作,则弹出第二应用窗口4000(如图3中右图所示)。由于第二应用窗口4000预设为失焦状态,因此,焦点仍然聚焦在第一应用窗口上,通过目标应用所监听到的仍然是第一应用窗口的节点信息,即目标应用与第一应用窗口之间的链接通路仍然处于通路状态。当然,若未将第一应用窗口3000预设为失焦状态,那么在弹出第二应用窗口4000后,显示界面的焦点就会自动聚焦到第二应用窗口4000,从而导致第一应用窗口2000失焦。而为了保证第一应用窗口2000不失焦,则将第二应用窗口4000预设为失焦状态,从而使得显示界面的焦点一直聚焦在第一应用窗口2000上;
其中,第二应用窗口4000覆盖在第一应用窗口3000上。同样的,第二应用窗口4000与第一应用窗口3000可以部分重叠,也可以完全重叠。
由于目标应用程序仅用于监听第一应用窗口2000的焦点状态,而在第二应用窗口4000预设为失焦状态后无法获取焦点,进而影响第二应用窗口4000的正常使用,为了确保第二应用窗口可以正常使用,则需要监听第二应用窗口的焦点变化情况。
当用户针对该第二应用窗口4000输入聚焦操作(如将光标移动到第二应用窗口的输入区域)时,终端1000监听到该聚焦操作后,确定用户有对第二应用窗口进行操作的意图,则刷新该第二应用窗口4000的焦点状态,从而使得该第二应用窗口4000处于聚焦状态(即从NOT FOCUS状态变为FOCUS状态),进而可以唤起软键盘进行信息输入等操作。
其中,终端1000可获取第二应用窗口4000的根节点视图,并获取该根节点视图的布局属性参数以及属性管理器,再采用该属性管理器将布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新第二应用窗口4000,实现第二应用窗口4000焦点状态的调节。
可选的,在对焦点状态进行调节前,终端1000先获取第二应用窗口4000的焦点状态,判断该第二应用窗口4000是否为聚焦状态,若是聚焦状态,则无需调整,若是失焦状态,再进行调整。
可选的,当用户针对该第二应用窗口4000输入失焦操作(如将光标移动到第二应用窗口的输入区域外,或者确认输入完成)时,终端1000检测到该失焦操作,不再为该第二应用窗口4000分配焦点,从而使得该第二应用窗口从聚焦状态变为失焦状态(即从FOCUS状态变为NOT FOCUS状态)。
其中,所述终端可以包括平板电脑、个人计算机(PC)、智能手机、掌上电脑以及移动互联网设备(MID)等具备信息处理功能的终端设备。
在本申请实施例中,由于将第二应用窗口预设为失焦状态,则可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口进行聚焦操作就可以快速恢复该子窗口的焦点,并在该第二应用窗口不需要聚焦的时候则进行焦点的回收而转为失焦状态。在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率,这样,在目标应用开启的状态下,目标应用可以一直监听到第一应用窗口的窗口节点信息,目标应用与第一应用窗口之间的通信链路在不中断的情况下,某一时间的聚焦和失焦仅仅只是发生在所弹出的第二应用窗口上,并不影响目标窗口的失焦聚焦,聚焦失焦影响范围小,且恢复第二应用窗口的焦点过程所花费的时间较短,一方面可以屏蔽用户操作第一应用窗口而无响应的感知,另一方面不需要重新恢复第一应用窗口的焦点。
下面将结合附图4-附图7,对本申请实施例提供的应用窗口的焦点刷新方法进行详细介绍。其中,本申请实施例中的应用窗口的焦点刷新装置可以是图3所示的终端。
请参见图4,为本申请实施例提供了一种应用窗口的焦点刷新方法的流程示意图。如图4所示,本申请实施例的所述方法可以包括以下步骤:
S101,显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
当显示界面只打开一个应用程序时,那么该应用程序对应的显示窗口即为第一应用窗口。
当显示界面打开多个应用程序时,将用户在其中所选择的应用程序对应的显示窗口作为第一应用窗口。
无论打开几个应用程序,将当前正在使用的应用程序对应的显示窗口确定为第一应用窗口。例如,用户当前正在播放ppt,那么ppt的显示窗口即为第一应用窗口。
开启目标应用后,其对应的显示窗口透明覆盖在第一应用窗口上,基于目标应用的属性,该透明窗口不会请求分配焦点,因此,无论是否开启目标应用,第一应用窗口一直处于聚焦(FOCUS)状态。
需要说明的是,第一应用窗口所对应的应用程序与目标应用为不同的应用,目标应用可以为批注应用程序,而第一应用窗口所对应的应用程序可以为除了批注应用程序以外的任一可控应用程序。用于监听第一应用窗口,且以后台服务方式运行。
其中,批注应用程序为一个及时书写程序,意在对某些信息进行补充与扩展。在批注程序中,存在笔、橡皮、分享、关闭、上下翻页等功能。针对PowerPoint(PPT)而言,上下翻页以及关闭播放为控制PPT的功能,其他信息为书写相关信息,例如,笔:书写;橡皮:清除;分享:将内容保存到本地等;关闭:关闭批注。其对应的显示界面如图5所示,开启批注后,显示界面显示“你已处于批注模式”,且所对应的功能图标悬浮在PPT上。
可选的,对于安卓(Android)系统,终端可采用目标应用的辅助功能服务(AccessibilityServices)动态监听第一应用窗口的窗口焦点情况。可以是周期性监听,也可以是实时监听。
用户可以针对目标应用的显示窗口(透明窗口)输入操作,而终端在接收到该操作后进行响应,从而实现用户与终端的交互。
其中,用户操作该透明窗口的方式包括多种,例如手指点击透明窗口、通过鼠标点击透明窗口、通过键盘控制透明窗口等。
S102,接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
所述第二应用窗口即为用户操作目标应用时所弹出的窗口,且预设为失焦状态,从而可以防止在弹出第二应用窗口时,该窗口抢占第一应用窗口的焦点,进而导致目标应用与第一应用窗口之间的通信链路中断,因而,监测不到第一应用窗口的节点信息,即导致第一应用窗口失焦。
通过将第二应用窗口预设为失焦状态,可以确保目标应用与第一应用窗口的通信链路不中断,但却破坏了系统逻辑,使得第二应用窗口无法正常使用。因此,通过用户针对第二应用窗口进行相关操作可以触发终端的视图焦点监听器进行焦点变化情况的监听,且针对第二应用窗口进行监听。
S103,接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。
所述聚焦操作可以包括光标移入操作、语音控制操作、手势控制操作等多种方式。
当聚焦操作包括光标移入操作时,一种可行的实现方式为,终端获取用户针对第二应用窗口输入的光标移入操作,并获取该光标移入操作所指示的第一光标位置,当第一光标位置位于第二应用窗口的聚焦位置范围内时,将第二应用窗口的焦点状态刷新至聚焦状态。其中,第一光标位置指光标在第二应用窗口移动时,最终停留的位置。
例如,如图6a所示,用户通过手指点击光标进行移动,当光标移动到“用户名或邮件地址”输入框时,终端确认用户需要输入信息,则将第二应用窗口的当前焦点状态刷新到聚焦状态,从而可以激活键盘等各功能,进而可正常操作第二应用窗口。
当第一焦点变化操作包括语音控制操作时,一种可行的实现方式为,终端对该语音控制操作进行解析,并提取其中的关键词,若关键词与指令库中的关键词相匹配,或者表达的意思一致,则将第二应用窗口的焦点状态刷新至聚焦状态。
例如,如图6b所示,用户通过终端的语音操作收发接口输入“将光标移动到“用户名或邮件地址”输入框”,终端将光标从当前位置移动到该输入框中,并确认用户需要输入信息,则将第二应用窗口的当前焦点状态刷新到聚焦状态,从而可以激活键盘等各功能。
当第一焦点变化操作包括手势控制操作时,一种可行的实现方式为,终端对所采集的手势动作进行解析,并与手势库中预存的手势动作进行匹配,若在手势库存在匹配成功的手势动作,则执行该手势动作对应的聚焦操作,从而将第二应用窗口的焦点状态刷新至聚焦状态。
例如,如图6c所示,用户通过终端的摄像头输入手势滑动动作,在终端的显示界面上,光标也随着手指的移动而同步移动,同样的,当光标移动并停留在“用户名或邮件地址”输入框时,终端确认用户需要输入信息,则将第二应用窗口的当前焦点状态刷新到聚焦状态,从而可以激活键盘等各功能。
当然,手势控制操作还可以是预设的各种手势动作,如表1所示,当手势动作为“左手大拇指”或“左手食指”时,所对应的窗口焦点状态为“聚焦状态”,当手势动作为“右手大拇指”或“右手食指”时,所对应的窗口焦点状态为“失焦状态”,那么,当终端摄像头当前采集到的手势动作为“左手大拇指”时,将第二应用窗口的当前焦点状态刷新到聚焦状态。
表1
另一种可选的手势动作还可以如表2所示,当手势动作为“1根手指”时,所对应的窗口焦点状态为“聚焦状态”,当手势动作为“2根手指”时,所对应的窗口焦点状态为“失焦状态”,那么,当终端摄像头当前采集到的手势动作为“1根手指”时,将第二应用窗口的当前焦点状态刷新到聚焦状态。
表2
手势动作 | 窗口焦点状态 |
1根手指 | 聚焦状态 |
2根手指 | 失焦状态 |
仅仅检测到了焦点的变化,系统是不会真正聚焦到该视图上,因此,还需要对第二应用窗口的焦点状态进行刷新。具体刷新方式可以为:反射获取第二应用窗口根节点视图以及第二应用窗口的属性管理器;采用根节点视图获取布局属性参数;基于所监测到的焦点分配情况设置布局属性参数的属性,并动态更新第二应用窗口的视图。
在本申请实施例中,终端响应针对目标应用的交互操作指令,基于该交互操作指令输出预设焦点状态为失焦状态的第二应用窗口,当监听到第二应用窗口的第一焦点变化操作时,将所述第二应用窗口的焦点状态刷新至聚焦状态。由于将第二应用窗口预设为失焦状态,则可以确保在弹出第二应用窗口时,第一应用窗口与目标应用之间的链接通路不中断,进而可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口的进行聚焦操作就可以为第二应用窗口分配焦点,因此,在确保第一应用窗口一直处于聚焦状态下可以快速恢复第二应用窗口的焦点,即在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率。
请参见图7,为本申请实施例提供了一种应用窗口的焦点刷新方法的流程示意图。本实施例以应用窗口的焦点刷新方法应用于终端中来举例说明。该应用窗口的焦点刷新方法可以包括以下步骤:
S201,显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
具体描述可参见S101,此处不再赘述。
可选的,在显示采用目标应用监听的第一应用窗口之前,终端获取针对显示界面上目标应用输入的窗口开启操作,基于所述窗口开启指令开启一透明窗口,所述透明窗口覆盖在所述显示界面的第一应用窗口上。
所述窗口开启操作即为开启透明窗口的操作。用户输入窗口开启操作的方式可以包括开启批注应用程序,如双击批注应用程序的图标、通过选中批注应用程序的图标后点击鼠标右键,再点击“打开”选项、通过点击键盘的快捷键“Ctrl+O”等,从而打开了批注的窗口。
可选的,对于安卓(Android)系统,终端可采用批注的辅助功能服务(AccessibilityServices)动态监听第一应用窗口的窗口焦点情况。可以周期性监听,也可以实时监听。
S202,接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
具体可参见S102,此处不再赘述。
S203,接收针对所述第二应用窗口输入的光标移入操作,获取所述光标移入操作所指示的第一光标位置;
将光标向第二应用窗口进行移动的过程中,光标的位置在不断变化,而第一光标位置即为光标最终停留的位置。
例如,如图6a中所示,将光标移动到s点处并停留时,s点处的坐标即为第一光标位置。
S204,当所述第一光标位置位于所述第二应用窗口的聚焦位置范围内时,获取所述第二应用窗口的焦点状态;
所述聚焦位置范围指进行信息输入的范围,可以包括文本输入框以及各种按键。例如,当第二应用窗口为图2a所示的形式时,聚焦位置范围即包括“用户名或邮件地址”输入框、“密码”输入框以及“进入系统”控键分别对应的区域。当第二应用窗口为图2b所示的形式时,聚焦位置范围包括“确定”控键对应的区域。
S205,判断所述第二应用窗口是否为聚焦状态;
对焦点状态进行调整之前对当前的焦点状态进行检测,若所检测到的焦点状态是所需要调整的焦点状态,则无需进行调整;若所检测到的焦点状态不是所需要调整的焦点状态,则进行调整。
具体的判断方式可以是:通过查询视图焦点监听器中是否存在第二应用窗口的窗口节点信息,若其中包含第二应用窗口的窗口节点信息,表明第二应用窗口为聚焦状态,若不包含,表明第二应用窗口为失焦状态。
其中,窗口节点即为窗口所包含的元素,每个窗口可以包括多个节点,每个节点都包含多个属性。这些属性包括nodeName(节点名称)、nodeValue(节点值)、nodeType(节点类型)。
S206,当所述焦点状态为失焦状态时,获取所述第二应用窗口的根节点视图,并获取所述根节点视图的布局属性参数。
在每个窗口中都包含有根节点视图。在安卓系统中,可通过调用语句getWindow().getDecorView().findViewById(android.R.id.content)得到第二应用窗口的根节点视图DecorView。
在DecorView中包含布局属性参数(LayoutParams),LayoutParams里面存放着的是窗口的属性,通过这个变量,可以为窗口赋予各式的属性。也可以改变它的属性值,来进行各种各样的操作,像悬浮窗口的拖动,拉伸等操作。
而在LayoutParams中又包含焦点属性标志位(Flag),通过改变Flag的值可以改变窗口的焦点状态。
S207,获取所述根节点视图的属性管理器。
在安卓系统中,可通过调用wManager=(WindowManager)getApplicationContext().getSystemService(Context.WINDOW_SERVICE);得到DecorView的属性管理器(WindowManager)。
WindowManager是一个接口类,它可以实现对窗口中视图的管理,包括增加,更新和删除等。
如增加视图,调用public void addView(Viewview,ViewGroup.LayoutParamsparams);更新视图,调用public void updateViewLayout(View view,ViewGroup.LayoutParamsparams);删除视图,调用public void removeView(View view)。
S208,采用所述属性管理器将所述布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新所述第二应用窗口。
设置Flag的值,并设置为聚焦状态所指示的焦点属性值,例如,若1表示聚焦,0表示失焦,则将Flag设置为1。
在一种具体的执行方式中,可通过layoutParams.flags&=windowManager.LayoutParams.FLAG_NOT_FOCUSABLE进行设置。并采用WindowManager动态的调用WindowManager.updateViewLayout(decorView,layoutParams)更新第二应用窗口,从而实现第二应用窗口的聚焦。
可选的,接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态。
所述第二焦点变化信号可以包括光标移出信号、输入完成信号、确认信号或取消信号等多种方式。
当第二焦点变化信号包括光标移入信号时,一种可行的实现方式为,终端接收针对所述第二应用窗口输入的光标移出操作,并获取所述光标移出操作所指示的第二光标位置,当所述第二光标位置位于所述第二应用窗口的聚焦位置范围外时,表明用户不需要再对第二应用窗口进行操作,则将所述第二应用窗口的焦点状态刷新为失焦状态。
其中,第二光标位置指光标远离第二应用窗口时,最终停留的位置。
当第二焦点变化信号包括输入完成信号时,一种可行的实现方式为,终端获取用户输入的输入完成信号(如点击确定控键),直接将第二应用窗口的焦点状态刷新为失焦状态。刷新方式与上述所描述的聚焦状态的刷新方式相同,此处不再赘述。
可选的,在将第二应用窗口的焦点状态刷新至失焦状态之前,可先判断第二应用窗口当前是否为失焦状态,若是,则无需调整,否则,对焦点状态进行调整。
需要说明的是,本方案适用多种应用场景。一种具体的应用场景为,第一应用窗口对应PPT应用,目标应用对应批注应用程序(mark),第二应用窗口为mark的子窗口,在播放PPT的过程中,若未将第二应用窗口预设为失焦状态,则得到的显示界面的焦点分配情况为:
isPPTPlaying:true
rootInActiveWindow:android.view.accessibility.AccessibilityNodeInfo@8001b4cf;
boundsInParent:Rect(0,0-486,750);
boundsInScreen:Rect(102,259-588,1009);
packageName:com.cvte.maxhub.mark;className:android.widget.FrameLayout;…此时系统监测到显示界面的焦点信息为第二应用窗口的节点信息(com.cvte.maxhub.mark)。
而采用本方案之后,得到的显示界面的焦点分配情况为:
isPPTPlaying:true
rootInActiveWindow:android.view.accessibility.AccessibilityNodeInfo@80007d46;
boundsInParent:Rect(0,0-1920,1080);
boundsInScreen:Rect(0,0-1920,1080);
packageName:com.microsoft.office.powerpoint;className:android.widget.FrameLay out;…
此时,系统监测到显示界面的节点信息为PPT窗口的节点信息(com.microsoft.office.powerpoint)。可见,本方案解决了第一应用窗口的失焦问题。
在本申请实施例中,终端响应针对目标应用的交互操作指令,基于该交互操作指令输出预设焦点状态为失焦状态的第二应用窗口,当光标在该第二应用窗口上移动并移动到聚焦位置范围内时,若该第二应用窗口当前处于失焦状态,则通过获取该第二应用窗口的根节点视图的布局属性参数以及属性管理器,采用属性管理器调整布局属性参数的属性值后对该第二应用窗口进行动态刷新,从而实现第二应用窗口的聚焦。同时,当光标从聚焦位置范围内移走时,采用相同的方法调整布局属性参数的属性值,以实现第二应用窗口的失焦。由于将第二应用窗口预设为失焦状态,则可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口进行聚焦操作就可以快速恢复该子窗口的焦点,并在该第二应用窗口不需要聚焦的时候则进行焦点的回收而转为失焦状态。在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率,这样,在目标应用开启的状态下,目标应用可以一直监听到第一应用窗口的窗口节点信息,目标应用与第一应用窗口之间的通信链路在不中断的情况下,某一时间的聚焦和失焦仅仅只是发生在所弹出的第二应用窗口上,并不影响目标窗口的失焦聚焦,聚焦失焦影响范围小,且恢复第二应用窗口的焦点过程所花费的时间较短,一方面可以屏蔽用户操作第一应用窗口而无响应的感知,另一方面不需要重新恢复第一应用窗口的焦点。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参见图8,其示出了本申请一个示例性实施例提供的应用窗口的焦点刷新装置的结构示意图。该应用窗口的焦点刷新装置可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。该装置包括窗口显示模块11、第一窗口输出模块12和第一窗口刷新模块13。
窗口显示模块11,用于显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
第一窗口输出模块12,用于接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
第一窗口刷新模块13,用于接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。
可选的,如图9所示,所述聚焦操作包括光标移入操作,所述第一窗口刷新模块13,包括:
位置获取单元131,用于接收针对所述第二应用窗口输入的光标移入操作,获取所述光标移入操作所指示的第一光标位置;
窗口刷新单元132,用于当所述第一光标位置位于所述第二应用窗口的聚焦位置范围内时,将所述第二应用窗口刷新为聚焦状态。
可选的,所述窗口刷新单元132,具体用于:
获取所述第二应用窗口的根节点视图,并获取所述根节点视图的布局属性参数;
基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态。
可选的,所述窗口刷新单元132,还用于:
用于获取所述根节点视图的属性管理器;
采用所述属性管理器将所述布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新所述第二应用窗口。
可选的,如图10所示,所述装置还包括:
状态获取模块14,用于获取所述第二应用窗口的焦点状态;
状态判断模块15,用于判断所述焦点状态是否为聚焦状态,当所述焦点状态为失焦状态时,触发所述窗口刷新模块将所述第二应用窗口刷新为聚焦状态。
可选的,如图10所示,所述装置还包括:
第二窗口刷新模块16,用于接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态。
可选的,如图11所示,所述失焦操作包括光标移出操作,所述第二窗口刷新模块16,包括:
位置获取单元161,用于接收针对所述第二应用窗口输入的光标移出操作,获取所述光标移出操作所指示的第二光标位置;
窗口刷新单元162,用于当所述第二光标位置位于所述第二应用窗口的聚焦位置范围外时,将所述第二应用窗口刷新为失焦状态。
可选的,如图10所示,所述装置还包括:
第二窗口输出模块17,用于接收针对所述目标应用输入的交互操作,基于所述交互操作输出第三应用窗口,所述第三应用窗口为非交互窗口,所述第三应用窗口预设为失焦状态。
需要说明的是,上述实施例提供的应用窗口的焦点刷新装置在执行应用窗口的焦点刷新方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的应用窗口的焦点刷新装置与应用窗口的焦点刷新方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请实施例中,终端响应针对目标应用的交互操作指令,基于该交互操作指令输出预设焦点状态为失焦状态的第二应用窗口,当光标在该第二应用窗口上移动并移动到聚焦位置范围内时,若该第二应用窗口当前处于失焦状态,则通过获取该第二应用窗口的根节点视图的布局属性参数以及属性管理器,采用属性管理器调整布局属性参数的属性值后对该第二应用窗口进行动态刷新,从而实现第二应用窗口的聚焦。同时,当光标从聚焦位置范围内移走时,采用相同的方法调整布局属性参数的属性值,以实现第二应用窗口的失焦。由于将第二应用窗口预设为失焦状态,则可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口进行聚焦操作就可以快速恢复该子窗口的焦点,并在该第二应用窗口不需要聚焦的时候则进行焦点的回收而转为失焦状态。在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率,这样,在目标应用开启的状态下,目标应用可以一直监听到第一应用窗口的窗口节点信息,目标应用与第一应用窗口之间的通信链路在不中断的情况下,某一时间的聚焦和失焦仅仅只是发生在所弹出的第二应用窗口上,并不影响目标窗口的失焦聚焦,聚焦失焦影响范围小,且恢复第二应用窗口的焦点过程所花费的时间较短,一方面可以屏蔽用户操作第一应用窗口而无响应的感知,另一方面不需要重新恢复第一应用窗口的焦点。
本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图4-图7所示实施例的方法步骤,具体执行过程可以参见图4-图7所示实施例的具体说明,在此不进行赘述。
本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的焦点状态刷新方法。
请参见图12,为本申请实施例提供了一种终端的结构示意图。如图12所示,所述终端1000可以包括:至少一个处理器1001,至少一个网络接口1004,用户接口1003,存储器1005,至少一个通信总线1002。
其中,通信总线1002用于实现这些组件之间的连接通信。
其中,用户接口1003可以包括显示屏(Display)、摄像头(Camera),可选用户接口1003还可以包括标准的有线接口、无线接口。
其中,网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。
其中,处理器1001可以包括一个或者多个处理核心。处理器1001利用各种借口和线路连接整个终端1000内的各个部分,通过运行或执行存储在存储器1005内的指令、程序、代码集或指令集,以及调用存储在存储器1005内的数据,执行终端1000的各种功能和处理数据。可选的,处理器1001可以采用数字信号处理(Digital Signal Processing,DSP)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程逻辑阵列(Programmable Logic Array,PLA)中的至少一种硬件形式来实现。处理器1001可集成中央处理器(Central Processing Unit,CPU)、图像处理器(Graphics Processing Unit,GPU)和调制解调器等中的一种或几种的组合。其中,CPU主要处理操作系统、用户界面和应用程序等;GPU用于负责显示屏所需要显示的内容的渲染和绘制;调制解调器用于处理无线通信。可以理解的是,上述调制解调器也可以不集成到处理器1001中,单独通过一块芯片进行实现。
其中,存储器1005可以包括随机存储器(Random Access Memory,RAM),也可以包括只读存储器(Read-Only Memory)。可选的,该存储器1005包括非瞬时性计算机可读介质(non-transitory computer-readable storage medium)。存储器1005可用于存储指令、程序、代码、代码集或指令集。存储器1005可包括存储程序区和存储数据区,其中,存储程序区可存储用于实现操作系统的指令、用于至少一个功能的指令(比如触控功能、声音播放功能、图像播放功能等)、用于实现上述各个方法实施例的指令等;存储数据区可存储上面各个方法实施例中涉及到的数据等。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图12所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及应用窗口的焦点刷新应用程序。
在图12所示的终端1000中,用户接口1003主要用于为用户提供输入的接口,获取用户输入的数据;而处理器1001可以用于调用存储器1005中存储的应用窗口的焦点刷新应用程序,并具体执行以下操作:
显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态;
接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态。
在一个实施例中,所述聚焦操作包括光标移入操作,所述处理器1001在执行接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态时,具体执行以下操作:
接收针对所述第二应用窗口输入的光标移入操作,获取所述光标移入操作所指示的第一光标位置;
当所述第一光标位置位于所述第二应用窗口的聚焦位置范围内时,将所述第二应用窗口刷新为聚焦状态。
在一个实施例中,所述处理器1001在执行将所述第二应用窗口刷新为聚焦状态时,具体执行以下操作:
获取所述第二应用窗口的根节点视图,并获取所述根节点视图的布局属性参数;
基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态。
在一个实施例中,所述处理器1001还执行以下操作:
获取所述根节点视图的属性管理器;
所述处理器1001在执行基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态时,具体执行以下操作:
采用所述属性管理器将所述布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新所述第二应用窗口。
在一个实施例中,所述处理器1001在执行将所述第二应用窗口刷新为聚焦状态之前,还执行以下操作:
获取所述第二应用窗口的焦点状态;
判断所述焦点状态是否为聚焦状态;
所述处理器1001在执行将所述第二应用窗口刷新为聚焦状态时,具体执行以下操作:
当所述焦点状态为失焦状态时,触发执行所述将所述第二应用窗口刷新为聚焦状态的步骤。
在一个实施例中,所述处理器1001在执行接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态之后,还执行以下操作:
接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态。
在一个实施例中,所述失焦操作包括光标移出操作,所述处理器1001在执行接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态时,具体执行以下操作:
接收针对所述第二应用窗口输入的光标移出操作,获取所述光标移出操作所指示的第二光标位置;
当所述第二光标位置位于所述第二应用窗口的聚焦位置范围外时,将所述第二应用窗口刷新为失焦状态。
在一个实施例中,所述处理器1001还执行以下操作:
接收针对所述目标应用输入的交互操作,基于所述交互操作输出第三应用窗口,所述第三应用窗口为非交互窗口,所述第三应用窗口预设为失焦状态。
在本申请实施例中,终端响应针对目标应用的交互操作指令,基于该交互操作指令输出预设焦点状态为失焦状态的第二应用窗口,当光标在该第二应用窗口上移动并移动到聚焦位置范围内时,若该第二应用窗口当前处于失焦状态,则通过获取该第二应用窗口的根节点视图的布局属性参数以及属性管理器,采用属性管理器调整布局属性参数的属性值后对该第二应用窗口进行动态刷新,从而实现第二应用窗口的聚焦。同时,当光标从聚焦位置范围内移走时,采用相同的方法调整布局属性参数的属性值,以实现第二应用窗口的失焦。由于将第二应用窗口预设为失焦状态,则可以确保第一应用窗口一直处于聚焦状态,同时,只需要对第二应用窗口进行聚焦操作就可以快速恢复该子窗口的焦点,并在该第二应用窗口不需要聚焦的时候则进行焦点的回收而转为失焦状态。在不影响第二应用窗口正常使用的情况下,节省了窗口焦点恢复时间,进而可以提高窗口焦点的恢复效率,这样,在目标应用开启的状态下,目标应用可以一直监听到第一应用窗口的窗口节点信息,目标应用与第一应用窗口之间的通信链路在不中断的情况下,某一时间的聚焦和失焦仅仅只是发生在所弹出的第二应用窗口上,并不影响目标窗口的失焦聚焦,聚焦失焦影响范围小,且恢复第二应用窗口的焦点过程所花费的时间较短,一方面可以屏蔽用户操作第一应用窗口而无响应的感知,另一方面不需要重新恢复第一应用窗口的焦点。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体或随机存储记忆体等。
以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。
Claims (16)
1.一种应用窗口的焦点刷新方法,其特征在于,所述方法包括:
显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态,所述目标应用的显示窗口透明覆盖在所述第一应用窗口上;
接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态;
所述聚焦操作包括光标移入操作,所述接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态,包括:
接收针对所述第二应用窗口输入的光标移入操作,获取所述光标移入操作所指示的第一光标位置;
当所述第一光标位置位于所述第二应用窗口的聚焦位置范围内时,将所述第二应用窗口刷新为聚焦状态。
2.根据权利要求1所述的方法,其特征在于,所述将所述第二应用窗口刷新为聚焦状态,包括:
获取所述第二应用窗口的根节点视图,并获取所述根节点视图的布局属性参数;
基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
获取所述根节点视图的属性管理器;
所述基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态,包括:
采用所述属性管理器将所述布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新所述第二应用窗口。
4.根据权利要求1所述的方法,其特征在于,所述将所述第二应用窗口刷新为聚焦状态之前,还包括:
获取所述第二应用窗口的焦点状态;
判断所述焦点状态是否为聚焦状态;
所述将所述第二应用窗口刷新为聚焦状态,包括:
当所述焦点状态为失焦状态时,触发执行所述将所述第二应用窗口刷新为聚焦状态的步骤。
5.根据权利要求1所述的方法,其特征在于,所述接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态之后,还包括:
接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态。
6.根据权利要求5所述的方法,其特征在于,所述失焦操作包括光标移出操作,所述接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态,包括:
接收针对所述第二应用窗口输入的光标移出操作,获取所述光标移出操作所指示的第二光标位置;
当所述第二光标位置位于所述第二应用窗口的聚焦位置范围外时,将所述第二应用窗口刷新为失焦状态。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收针对所述目标应用输入的交互操作,基于所述交互操作输出第三应用窗口,所述第三应用窗口为非交互窗口,所述第三应用窗口预设为失焦状态。
8.一种应用窗口的焦点刷新装置,其特征在于,所述装置包括:
窗口显示模块,用于显示采用目标应用监听的第一应用窗口,所述第一应用窗口为聚焦状态,所述目标应用的显示窗口透明覆盖在所述第一应用窗口上;
第一窗口输出模块,用于接收针对所述目标应用输入的交互操作,基于所述交互操作输出第二应用窗口,所述第二应用窗口为交互窗口,所述第二应用窗口预设为失焦状态;
第一窗口刷新模块,用于接收针对所述第二应用窗口输入的聚焦操作,将所述第二应用窗口刷新为聚焦状态;
所述聚焦操作包括光标移入操作,所述第一窗口刷新模块,包括:
位置获取单元,用于接收针对所述第二应用窗口输入的光标移入操作,获取所述光标移入操作所指示的第一光标位置;
窗口刷新单元,用于当所述第一光标位置位于所述第二应用窗口的聚焦位置范围内时,将所述第二应用窗口刷新为聚焦状态。
9.根据权利要求8所述的装置,其特征在于,所述窗口刷新单元,具体用于:
获取所述第二应用窗口的根节点视图,并获取所述根节点视图的布局属性参数;
基于所述布局属性参数将所述第二应用窗口刷新为聚焦状态。
10.根据权利要求9所述的装置,其特征在于,所述窗口刷新单元,还用于:
管理器获取单元,用于获取所述根节点视图的属性管理器;
采用所述属性管理器将所述布局属性参数的属性值调整为聚焦状态所指示的焦点属性值,并刷新所述第二应用窗口。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
状态获取模块,用于获取所述第二应用窗口的焦点状态;
状态判断模块,用于判断所述焦点状态是否为聚焦状态,当所述焦点状态为失焦状态时,触发所述窗口刷新模块将所述第二应用窗口刷新为聚焦状态。
12.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二窗口刷新模块,用于接收针对所述第二应用窗口输入的失焦操作,将所述第二应用窗口刷新为失焦状态。
13.根据权利要求12所述的装置,其特征在于,所述失焦操作包括光标移出操作,所述第二窗口刷新模块,包括:
位置获取单元,用于接收针对所述第二应用窗口输入的光标移出操作,获取所述光标移出操作所指示的第二光标位置;
窗口刷新单元,用于当所述第二光标位置位于所述第二应用窗口的聚焦位置范围外时,将所述第二应用窗口刷新为失焦状态。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二窗口输出模块,用于接收针对所述目标应用输入的交互操作,基于所述交互操作输出第三应用窗口,所述第三应用窗口为非交互窗口,所述第三应用窗口预设为失焦状态。
15.一种计算机存储介质,其特征在于,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行如权利要求1~7任意一项的方法步骤。
16.一种终端,其特征在于,包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行如权利要求1~7任意一项的方法步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126533.7A CN109828820B (zh) | 2019-02-20 | 2019-02-20 | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 |
PCT/CN2019/124564 WO2020168790A1 (zh) | 2019-02-20 | 2019-12-11 | 应用窗口的焦点刷新方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910126533.7A CN109828820B (zh) | 2019-02-20 | 2019-02-20 | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109828820A CN109828820A (zh) | 2019-05-31 |
CN109828820B true CN109828820B (zh) | 2021-08-20 |
Family
ID=66863900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910126533.7A Active CN109828820B (zh) | 2019-02-20 | 2019-02-20 | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN109828820B (zh) |
WO (1) | WO2020168790A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109828820B (zh) * | 2019-02-20 | 2021-08-20 | 广州视源电子科技股份有限公司 | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 |
CN112256372B (zh) * | 2020-10-20 | 2023-12-26 | 北京字跳网络技术有限公司 | 信息处理方法、装置和电子设备 |
CN113127056B (zh) * | 2021-05-17 | 2022-03-29 | 马上消费金融股份有限公司 | 一种信息处理方法、装置、设备及可读存储介质 |
CN116467037B (zh) * | 2023-06-09 | 2023-09-22 | 成都融见软件科技有限公司 | 一种图形用户界面工作状态的恢复方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8443297B1 (en) * | 2012-06-15 | 2013-05-14 | Google Inc. | Dimming a window that is out of focus |
CN103455234A (zh) * | 2012-06-01 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 显示应用程序界面的方法及装置 |
CN103513857A (zh) * | 2012-06-28 | 2014-01-15 | 北京奇虎科技有限公司 | 不规则窗口中的消息处理方法及装置 |
CN107301009A (zh) * | 2017-06-15 | 2017-10-27 | 深圳市金立通信设备有限公司 | 一种移除Toast消息框的方法、终端及计算机可读存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101639755B (zh) * | 2009-09-10 | 2011-07-13 | 腾讯科技(深圳)有限公司 | 一种支持图片输入的方法和设备 |
CN103440193B (zh) * | 2013-09-12 | 2016-07-13 | 广东电子工业研究院有限公司 | 一种快速记录选中信息的方法 |
CN106339174B (zh) * | 2015-07-17 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 多窗口显示键盘光标的方法及装置 |
CN107484024B (zh) * | 2017-08-17 | 2019-12-24 | 四川长虹电器股份有限公司 | 基于webos智能电视系统利用热键实现全局悬浮菜单的方法 |
CN108628650B (zh) * | 2018-03-20 | 2020-03-17 | 广州视源电子科技股份有限公司 | 触摸事件的处理方法、装置和智能交互设备 |
CN108924029B (zh) * | 2018-04-11 | 2021-03-30 | 创新先进技术有限公司 | 一种客服数据发送的方法及装置 |
CN109828820B (zh) * | 2019-02-20 | 2021-08-20 | 广州视源电子科技股份有限公司 | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 |
-
2019
- 2019-02-20 CN CN201910126533.7A patent/CN109828820B/zh active Active
- 2019-12-11 WO PCT/CN2019/124564 patent/WO2020168790A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103455234A (zh) * | 2012-06-01 | 2013-12-18 | 腾讯科技(深圳)有限公司 | 显示应用程序界面的方法及装置 |
US8443297B1 (en) * | 2012-06-15 | 2013-05-14 | Google Inc. | Dimming a window that is out of focus |
CN103513857A (zh) * | 2012-06-28 | 2014-01-15 | 北京奇虎科技有限公司 | 不规则窗口中的消息处理方法及装置 |
CN107301009A (zh) * | 2017-06-15 | 2017-10-27 | 深圳市金立通信设备有限公司 | 一种移除Toast消息框的方法、终端及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2020168790A1 (zh) | 2020-08-27 |
CN109828820A (zh) | 2019-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109828820B (zh) | 一种应用窗口的焦点刷新方法、装置、存储介质及终端 | |
JP6957632B2 (ja) | コンピューティング装置の通知のための通知チャネル | |
CN108279964B (zh) | 蒙层渲染的实现方法、装置、智能设备及存储介质 | |
US20160342779A1 (en) | System and method for universal user interface configurations | |
US7181697B2 (en) | Method of implementing a plurality of system tray areas | |
US9965039B2 (en) | Device and method for displaying user interface of virtual input device based on motion recognition | |
US20110115814A1 (en) | Gesture-controlled data visualization | |
CN103425479A (zh) | 用于远程设备的用户接口虚拟化 | |
US20140325418A1 (en) | Automatically manipulating visualized data based on interactivity | |
EP3161598A1 (en) | Light dismiss manager | |
WO2020168786A1 (zh) | 触摸操作响应方法、装置、存储介质及终端 | |
CN114779977A (zh) | 界面显示方法、装置、电子设备及存储介质 | |
US11989571B2 (en) | Generating user interface containers | |
WO2024104079A1 (zh) | 桌面组件生成方法、装置、电子设备和可读存储介质 | |
CN114415886A (zh) | 应用图标的管理方法和电子设备 | |
US9928220B2 (en) | Temporary highlighting of selected fields | |
US9377864B2 (en) | Transforming visualized data through visual analytics based on interactivity | |
US9037958B2 (en) | Dynamic creation of user interface hot spots | |
CN115658203A (zh) | 信息显示方法、装置、电子设备及存储介质 | |
CN115391398A (zh) | 信息搜索方法、装置、电子设备及可读存储介质 | |
CN114995713A (zh) | 显示控制方法、装置、电子设备和可读存储介质 | |
CN104081333A (zh) | 包括均描绘图形用户界面的区域的输入镜头的远程显示区 | |
CN115562544A (zh) | 一种显示设备及撤销方法 | |
US20200174573A1 (en) | Computer system gesture-based graphical user interface control | |
EP3635527B1 (en) | Magnified input panels |
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 |