一种悬浮控件的处理方法和装置与流程

文档序号:12462102阅读:284来源:国知局
一种悬浮控件的处理方法和装置与流程

本发明涉及计算机处理技术领域,特别是涉及一种悬浮控件的处理方法和一种悬浮控件的处理装置。



背景技术:

随着移动通信技术的发展,诸如手机等移动设备越来越普及,给人们在的生活、学习、工作带来了极大的便利。

目前,移动设备大多是触摸屏,为了提高触摸屏的比例,移动设备减少了许多实体键。

为了弥补实体键缺失对操作带来的影响,不少移动设备的系统配置了悬浮控件,通过该悬浮控件可以进行多种操作,如返回、前进、进入单手操作模式等等。

但是,由于悬浮控件位于系统界面或应用界面之上,不同界面的设计各由不同,当界面切换时,浮选控件的位置不变,经常遮挡切换后界面的控件位置,若用户没注意到遮挡,欲点击该悬浮控件下的控件,实际触发了悬浮控件,容易引起误操作。

因此,在触发所需控件时,需要将悬浮控件拖动到合适的位置,触控操作比较繁琐。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种悬浮控件的处理方法和相应的一种悬浮控件的处理装置。

依据本发明的一个方面,提供了一种悬浮控件的处理方法,包括:

检测悬浮控件所处的界面;

识别在所述界面中的可点击的有效点击区域;

判断所述悬浮控件是否在所述有效点击区域中;若是,则将所述悬浮控件移至所述有效点击区域外。

可选地,还包括:

识别在所述界面中的可悬浮的有效悬浮区域;

判断所述悬浮控件是否在所述有效悬浮区域中;若否,则将所述悬浮控件移至所述有效悬浮区域中。

可选地,所述识别在所述界面中的可点击的有效点击区域的步骤包括:

当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

可选地,所述识别在所述界面中的可点击的有效点击区域的步骤包括:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的有效点击区域。

可选地,所述将所述悬浮控件移至所述有效点击区域外的步骤包括:

计算所述悬浮控件与所述有效点击区域边缘外各位置之间的距离;

将所述悬浮控件移动至所述有效点击区域边缘外距离最短的位置。

可选地,所述识别在所述界面中的可悬浮的有效悬浮区域的步骤包括:

当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

可选地,所述识别在所述界面中的可悬浮的有效悬浮区域的步骤包括:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的无效点击区域。

可选地,所述将所述悬浮控件移至所述有效悬浮区域中的步骤包括:

计算所述悬浮控件与所述有效悬浮区域边缘内各位置之间的距离;

将所述悬浮控件移动至所述有效悬浮区域边缘各距离最短的位置。

可选地,所述界面场景信息包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

可选地,还包括:

获取悬浮控件所处第三方应用界面的界面场景信息;

记录针对所述第三方应用界面的有效的触控操作的第一触控位置;

对所述第一触控位置进行聚类,形成一个或多个第一触控位置集合;

将所述一个或多个第一触控位置集合拟合一个或多个有效点击区域;

建立所述界面场景信息与所述一个或多个有效点击区域的对应关系。

可选地,所述触控操作包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

所述记录针对所述第三方应用界面的有效的触控操作的第一触控位置的步骤包括:

当检测到针对所述第三方应用界面的点击操作时,记录所述点击操作的第一触控位置;

和/或,

当检测到针对所述第三方应用界面的滑动操作时,记录所述滑动操作的第一触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

可选地,还包括:

获取悬浮控件所处第三方应用界面的界面场景信息;

记录针对所述悬浮控件的有效的触控操作的第二触控位置;

对所述第二触控位置进行聚类,形成一个或多个第二触控位置集合;

将所述一个或多个第二触控位置集合拟合一个或多个有效悬浮区域;

建立所述界面场景信息与所述一个或多个有效悬浮区域的对应关系。

可选地,所述记录针对所述悬浮控件的有效的触控操作的第二触控位置的步骤包括:

当触控操作触发所述悬浮控件的二级菜单时,检测所述二级菜单是否被点击;若是,则记录所述触控操作的第二触控位置;

和/或,

当触控操作触发所述悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销所述指定的操作;若否,则记录所述触控操作的第二触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的停止位置,作为第二触控位置。

根据本发明的另一方面,提供了一种悬浮控件的处理装置,包括:

界面检测模块,适于检测悬浮控件所处的界面;

有效点击区域识别模块,适于识别在所述界面中的可点击的有效点击区域;

第一位置判断模块,适于判断所述悬浮控件是否在所述有效点击区域中;若是,则调用第一移动模块;

第一移动模块,适于将所述悬浮控件移至所述有效点击区域外。

可选地,还包括:

有效悬浮区域识别模块,适于识别在所述界面中的可悬浮的有效悬浮区域;

第二位置判断模块,适于判断所述悬浮控件是否在所述有效悬浮区域中;若否,则调用第二移动模块;

第二移动模块,将所述悬浮控件移至所述有效悬浮区域中。

可选地,所述有效点击区域识别模块还适于:

当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

可选地,所述有效点击区域识别模块还适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的有效点击区域。

可选地,所述第一移动模块还适于:

计算所述悬浮控件与所述有效点击区域边缘外各位置之间的距离;

将所述悬浮控件移动至所述有效点击区域边缘外距离最短的位置。

可选地,所述有效悬浮区域识别模块还适于:

当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

可选地,所述有效悬浮区域识别模块还适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的无效点击区域。

可选地,所述第二位置判断模块还适于:

计算所述悬浮控件与所述有效悬浮区域边缘内各位置之间的距离;

将所述悬浮控件移动至所述有效悬浮区域边缘各距离最短的位置。

可选地,所述界面场景信息包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

可选地,还包括:

第一界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第一触控位置记录模块,适于记录针对所述第三方应用界面的有效的触控操作的第一触控位置;

第一聚类模块,适于对所述第一触控位置进行聚类,形成一个或多个第一触控位置集合;

有效点击区域拟合模块,适于将所述一个或多个第一触控位置集合拟合一个或多个有效点击区域;

第一对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效点击区域的对应关系。

可选地,所述触控操作包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

所述第一触控位置记录模块还适于:

当检测到针对所述第三方应用界面的点击操作时,记录所述点击操作的第一触控位置;

和/或,

当检测到针对所述第三方应用界面的滑动操作时,记录所述滑动操作的第一触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

可选地,还包括:

第二界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第二触控位置记录模块,适于记录针对所述悬浮控件的有效的触控操作的第二触控位置;

第二聚类模块,适于对所述第二触控位置进行聚类,形成一个或多个第二触控位置集合;

有效悬浮区域拟合模块,适于将所述一个或多个第二触控位置集合拟合一个或多个有效悬浮区域;

第二对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效悬浮区域的对应关系。

可选地,所述第二触控位置记录模块还适于:

当触控操作触发所述悬浮控件的二级菜单时,检测所述二级菜单是否被点击;若是,则记录所述触控操作的第二触控位置;

和/或,

当触控操作触发所述悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销所述指定的操作;若否,则记录所述触控操作的第二触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的停止位置,作为第二触控位置。

本发明实施例检测到悬浮控件在所处界面的有效点击区域中时,将悬浮控件移至有效点击区域外,减少了悬浮控件对界面造成遮挡的可能,减少了误操作的几率,提高了触控操作的简便性。

本发明实施例检测到悬浮控件不在所处界面的有效悬浮区域中时,将悬浮控件移至有效悬浮区域中,减少了悬浮控件对界面造成遮挡的可能,减少了误操作的几率,提高了触控操作的简便性。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种悬浮控件的处理方法实施例1的步骤流程图;

图2示出了根据本发明一个实施例的一种悬浮控件的处理方法实施例2的步骤流程图;

图3示出了根据本发明一个实施例的一种悬浮控件的处理装置实施例1的结构框图;以及

图4示出了根据本发明一个实施例的一种悬浮控件的处理装置实施例2的结构框图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地 理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

参照图1,示出了根据本发明一个实施例的一种悬浮控件的处理方法实施例1的步骤流程图,具体可以包括如下步骤:

步骤101,检测悬浮控件所处的界面;

需要说明的是,本发明实施例可以应用在各种移动设备中,例如,手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等等。

该移动设备的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,可以各应用的运行,包括系统应用,如通讯录、相册等,以及,第三方应用,如即时通讯工具、邮箱客户端等。

在本发明实施例中,移动设备中具有悬浮控件,即悬浮于当前的可视界面之上的控件,该控件可悬浮于除游戏、播放器等应用之外的大部分的界面之上。

以Android系统为例,可以利用PopupWindow这个控件来设置悬浮控件,这个控件显示有两个方法:

一个是showAsDropDown(View v)将PopupWindow作为v组件的下拉组件来显示;

另一个方法就是showAtLocation()方法,将PopupWindow显示在指定的位置上。

当然,除了PopupWindow之外,还可以采用其他方式设置悬浮控件,本发明实施例对此不加以限制。

通过该悬浮控件,可以触发某些触控操作。

在某些系统中,可以通过触发该悬浮控件直接进行触控操作,例如,单击该悬浮控件,则触发返回操作,以该悬浮控件为起点,向左滑动,则触发返回上一界面的操作,等等。

在某些系统中,可以通过点击该悬浮控件,弹出二级菜单,在该二级菜单中具有一个或多个功能控件,点击该功能控件进行触控操作。

在本发明实施例中,当检测到界面的切换时,悬浮控件有可能遮挡新的 界面,因此,可以检测悬浮控件所处的界面,如系统应用界面、第三方应用界面。

步骤102,识别在所述界面中的可点击的有效点击区域;

在本发明实施例中,有效点击区域,指对界面所属的应用进行有效的触控操作的区域。

在本发明的一种可选实施例中,步骤102可以包括如下子步骤:

子步骤S11,当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

在具体实现中大多数应用都是由几个或者几十个甚至更多的控件来组成,除了主窗口以外,还有输入法窗口、各种各样的弹出窗口以及自定义样式的子窗口,在窗口中,通常设置由应用控件或图标等UI(User Interface,用户界面)元素。

以Android为例,Android系统中的窗口也是以堆栈的形式组织在WindowManagerService服务中的,应用进程中的每一个Activity组件在Activity管理服务ActivityManagerService中都对应有一个ActivityRecord对象。Activity管理服务ActivityManagerService中每一个ActivityRecord对象在Window管理服务WindowManagerService中都对应有一个AppWindowToken对象。

此外,在输入法管理服务InputMethodManagerService中,每一个输入法窗口都对应有一个Binder对象,这个Binder对象在Window管理服务WindowManagerService又对应有一个WindowToken对象。

与输入法窗口类似,在壁纸管理服务WallpaperManagerService中,每一个壁纸窗口都对应有一个Binder对象,这个Binder对象在Window管理服务WindowManagerService也对应有一个WindowToken对象。

在Window管理服务WindowManagerService中,无论是AppWindowToken对象,还是WindowToken对象,它们都是用来描述一组有着相同令牌的窗口的,每一个窗口都是通过一个WindowState对象来描述的。

因此,通过WindowState对象可以查询应用控件所处的区域,作为有效 点击区域。

在本发明的另一种可选实施例中,步骤102可以包括如下子步骤:

子步骤S21,当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

子步骤S22,查找所述界面场景信息对应的有效点击区域。

若悬浮控件所处界面为第三方应用界面,则可以检测当前的界面场景信息,即表征当前界面的应用环境的信息。

在具体实现中,界面场景信息可以包括如下的一种或多种:

设备标识、设备型号;

具体而言,不同的移动设备的屏幕大小不同,导致界面中的控件的位置有所不同,则可以检测设备标识、设备型号进行区分。

应用标识、应用版本;

不同的第三方应用的界面布局(如控件的位置)大多不一样,同一第三方应用的不同版本、不同界面的界面布局也有所不同,如某些第三方应用的控件布置在界面的左上角,某些第三方应用的控件布局在界面的右下角。

若当前的界面是应用程序的界面,则可以检测第三方应用的应用标识、应用版本进行区分。

横屏模式、竖屏模式。

同一界面,在横屏模式和竖屏模式下,其界面布局也会产生变化,控件的位置也会发生变化,则可以检测横屏模式和竖屏模式进行区分。

当然,上述界面场景信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他界面场景信息,本发明实施例对此不加以限制。另外,除了上述界面场景信息外,本领域技术人员还可以根据实际需要采用其它界面场景信息,本发明实施例对此也不加以限制。

应用本发明实施例,可以预先针对不同的第三方应用界面(以界面场景信息表征)统计有效的触控操作,将其第一触控位置拟合有效点击区域,在检测到该第三方应用界面(以界面场景信息表征)时,直接查找该有效点击区域。

具体而言,可以获取悬浮控件所处第三方应用界面的界面场景信息,记录针对第三方应用界面的有效的触控操作的第一触控位置,通过聚类算法对第一触控位置进行聚类,形成一个或多个第一触控位置集合,每一个第一触控位置集合中的点属于同一个有效点击区域,即可以将该一个或多个第一触控位置集合拟合一个或多个有效点击区域,建立界面场景信息与该一个或多个有效点击区域的对应关系,存储至云端,提供给各移动设备。

其中,该触控操作可以包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

则可以通过以下方式记录有效的触控操作的第一触控位置:

1、当检测到针对第三方应用界面的点击操作时,记录点击操作的第一触控位置;

在此方式中,第三方应用界面所属第三方应用的操作方式,包括对控件的点击操作,如单击、双击等,若触发点击操作,则其第一触控位置下可能具有控件,触控操作有效。

2、当检测到针对第三方应用界面的滑动操作时,记录滑动操作的第一触控位置;

在此方式中,第三方应用界面所属第三方应用的操作方式,包括滑动操作,如在浏览器中滑动页面等,若触发点击操作,虽然其第一触控位置下可能没有控件,但是该位置也是用户常用的触控区域,如右手拇指经常滑动的区域,触控操作有效。

3、当检测到针对悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

在此方式中,若拖动悬浮控件,则可以表示该悬浮控件遮挡了第三方应用界面,用户需要在其起始的第一触控位置进行触控操作。

当然,上述第一触控位置的记录方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他第一触控位置的记录方式,本发明实施例对此不加以限制。另外,除了上述第一触控位置的记录方式外,本领域技术人员还可以根据实际需要采用其它第一触控位置的记录方式,本发明实施例 对此也不加以限制。

步骤103,判断所述悬浮控件是否在所述有效点击区域中;若是,则执行步骤104;

在具体实现中,可以通过空间几何算法(如欧式空间)判断悬浮控件是否在所述有效点击区域,若悬浮控件在有效点击区域中,则可能遮挡第三方应用界面,可以移开,若悬浮控件不在有效点击区域中,则可能没遮挡第三方应用界面,可以不移开。

步骤104,将所述悬浮控件移至所述有效点击区域外。

在实际应用中,为了减少移动悬浮控件所带来的操作影响,可以计算悬浮控件与有效点击区域边缘外各位置之间的距离,将悬浮控件移动至有效点击区域边缘外距离最短的位置。

当然,除了移动至有效点击区域边缘外距离最短的位置之外,悬浮控件也可以移动至有效点击区域外的其他位置,本发明实施例对此不加以限制。

本发明实施例检测到悬浮控件在所处界面的有效点击区域中时,将悬浮控件移至有效点击区域外,减少了悬浮控件对界面造成遮挡的可能,减少了误操作的几率,提高了触控操作的简便性。

参照图2,示出了根据本发明一个实施例的一种悬浮控件的处理方法实施例2的步骤流程图,具体可以包括如下步骤:

步骤201,检测悬浮控件所处的界面;

需要说明的是,本发明实施例可以应用在各种移动设备中,例如,手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等等。

该移动设备的操作系统可以包括Android(安卓)、IOS、Windows Phone、Windows等等,可以各应用的运行,包括系统应用,如通讯录、相册等,以及,第三方应用,如即时通讯工具、邮箱客户端等。

在本发明实施例中,移动设备中具有悬浮控件,即悬浮于当前的可视界面之上的控件,该控件可悬浮于除游戏、播放器等应用之外的大部分的界面之上。

以Android系统为例,可以利用PopupWindow这个控件来设置悬浮控件,这个控件显示有两个方法:

一个是showAsDropDown(View v)将PopupWindow作为v组件的下拉组件来显示;

另一个方法就是showAtLocation()方法,将PopupWindow显示在指定的位置上。

当然,除了PopupWindow之外,还可以采用其他方式设置悬浮控件,本发明实施例对此不加以限制。

通过该悬浮控件,可以触发某些触控操作。

在某些系统中,可以通过触发该悬浮控件直接进行触控操作,例如,单击该悬浮控件,则触发返回操作,以该悬浮控件为起点,向左滑动,则触发返回上一界面的操作,等等。

在某些系统中,可以通过点击该悬浮控件,弹出二级菜单,在该二级菜单中具有一个或多个功能控件,点击该功能控件进行触控操作。

在本发明实施例中,当检测到界面的切换时,悬浮控件有可能遮挡新的界面,因此,可以检测悬浮控件所处的界面,如系统应用界面、第三方应用界面。

步骤202,识别在所述界面中的可悬浮的有效悬浮区域;

在本发明实施例中,有效悬浮区域,指对悬浮控件在该界面所属的应用中可以悬浮(即不会造成遮挡)的区域。

在本发明的一种可选实施例中,步骤202可以包括如下子步骤:

子步骤S31,当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

在具体实现中大多数应用都是由几个或者几十个甚至更多的控件来组成,除了主窗口以外,还有输入法窗口、各种各样的弹出窗口以及自定义样式的子窗口,在窗口中,通常设置由应用控件或图标等UI(User Interface,用户界面)元素。

以Android为例,Android系统中的窗口也是以堆栈的形式组织在 WindowManagerService服务中的,应用进程中的每一个Activity组件在Activity管理服务ActivityManagerService中都对应有一个ActivityRecord对象。Activity管理服务ActivityManagerService中每一个ActivityRecord对象在Window管理服务WindowManagerService中都对应有一个AppWindowToken对象。

此外,在输入法管理服务InputMethodManagerService中,每一个输入法窗口都对应有一个Binder对象,这个Binder对象在Window管理服务WindowManagerService又对应有一个WindowToken对象。

与输入法窗口类似,在壁纸管理服务WallpaperManagerService中,每一个壁纸窗口都对应有一个Binder对象,这个Binder对象在Window管理服务WindowManagerService也对应有一个WindowToken对象。

在Window管理服务WindowManagerService中,无论是AppWindowToken对象,还是WindowToken对象,它们都是用来描述一组有着相同令牌的窗口的,每一个窗口都是通过一个WindowState对象来描述的。

因此,通过WindowState对象可以查询非应用控件所处的区域,作为有效悬浮区域。

在本发明的一种可选实施例中,步骤202可以包括如下子步骤:

子步骤S41,当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

子步骤S42,查找所述界面场景信息对应的无效点击区域。

若悬浮控件所处界面为第三方应用界面,则可以检测当前的界面场景信息,即表征当前界面的应用环境的信息。

在具体实现中,界面场景信息可以包括如下的一种或多种:

设备标识、设备型号;

具体而言,不同的移动设备的屏幕大小不同,导致界面中的控件的位置有所不同,则可以检测设备标识、设备型号进行区分。

应用标识、应用版本;

不同的第三方应用的界面布局(如控件的位置)大多不一样,同一第三 方应用的不同版本、不同界面的界面布局也有所不同,如某些第三方应用的控件布置在界面的左上角,某些第三方应用的控件布局在界面的右下角。

若当前的界面是应用程序的界面,则可以检测第三方应用的应用标识、应用版本进行区分。

横屏模式、竖屏模式。

同一界面,在横屏模式和竖屏模式下,其界面布局也会产生变化,控件的位置也会发生变化,则可以检测横屏模式和竖屏模式进行区分。

当然,上述界面场景信息只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他界面场景信息,本发明实施例对此不加以限制。另外,除了上述界面场景信息外,本领域技术人员还可以根据实际需要采用其它界面场景信息,本发明实施例对此也不加以限制。

应用本发明实施例,可以预先针对不同的第三方应用界面(以界面场景信息表征)统计悬浮控件的有效的触控操作,将其第二触控位置拟合有效悬浮区域,在检测到该第三方应用界面(以界面场景信息表征)时,直接查找该有效悬浮区域。

具体而言,可以获取悬浮控件所处第三方应用界面的界面场景信息,记录针对悬浮控件的有效的触控操作的第二触控位置,通过聚类算法对所述第二触控位置进行聚类,形成一个或多个第二触控位置集合,每一个第二触控位置集合中的点属于同一个有悬浮击区域,即可以将该一个或多个第二触控位置集合拟合一个或多个有效悬浮区域,建立界面场景信息与该一个或多个有效悬浮区域的对应关系。

在本发明实施例中,可以通过以下方式记录有效的触控操作的第二触控位置:

1、当触控操作触发悬浮控件的二级菜单时,检测二级菜单是否被点击;若是,则记录触控操作的第二触控位置;

在此方式中,可以通过点击该悬浮控件,弹出二级菜单,若用户点击二级菜单,则可以表示触发该二级菜单是用户所需的,其第二触控位置可悬浮,否则,可以表示触发该二级菜单不是用户所需的,可能是误操作,其第二触 控位置不可悬浮。

2、当触控操作触发悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销指定的操作;若否,则记录触控操作的第二触控位置;

在此方式中,可以通过触发该悬浮控件直接进行触控操作,若在预设的时间段内未撤销该操作,则可以表示触发该操作是用户所需的,其第二触控位置可悬浮,否则,可以表示触发该操作不是用户所需的,可能是误操作,其第二触控位置不可悬浮。

3、当检测到针对悬浮控件的拖动操作时,记录拖动操作的停止位置,作为第二触控位置。

在此方式中,若拖动悬浮控件,则可以表示该悬浮控件遮挡了第三方应用界面,其停止第二触控位置一般会不造成遮挡,可悬浮。

当然,上述第二触控位置的记录方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他第二触控位置的记录方式,本发明实施例对此不加以限制。另外,除了上述第二触控位置的记录方式外,本领域技术人员还可以根据实际需要采用其它第二触控位置的记录方式,本发明实施例对此也不加以限制。

步骤203,判断所述悬浮控件是否在所述有效悬浮区域中;若否,则执行步骤204;

在具体实现中,可以通过空间几何算法(如欧式空间)判断悬浮控件是否在所述有效悬浮区域,若悬浮控件在有效悬浮区域中,则一般没遮挡第三方应用界面,可以不移开,若悬浮控件不在有效悬浮区域中,则可能遮挡第三方应用界面,可以不移开。

步骤204,将所述悬浮控件移至所述有效悬浮区域中。

在实际应用中,为了减少移动悬浮控件所带来的操作影响,可以计算悬浮控件与有效悬浮区域边缘内各位置之间的距离,将悬浮控件移动至有效悬浮区域边缘各距离最短的位置。

当然,除了移动至有效悬浮区域边缘外距离最短的位置之外,悬浮控件也可以移动至有效悬浮区域内的其他位置,本发明实施例对此不加以限制。

本发明实施例检测到悬浮控件不在所处界面的有效悬浮区域中时,将悬浮控件移至有效悬浮区域中,减少了悬浮控件对界面造成遮挡的可能,减少了误操作的几率,提高了触控操作的简便性。

对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。

参照图3,示出了根据本发明一个实施例的一种悬浮控件的处理装置实施例1的结构框图,具体可以包括如下模块:

界面检测模块301,适于检测悬浮控件所处的界面;

有效点击区域识别模块302,适于识别在所述界面中的可点击的有效点击区域;

第一位置判断模块303,适于判断所述悬浮控件是否在所述有效点击区域中;若是,则调用第一移动模块304;

第一移动模块304,适于将所述悬浮控件移至所述有效点击区域外。

在本发明的一种可选实施例中,所述有效点击区域识别模块302还可以适于:

当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

在本发明的另一种可选实施例中,所述有效点击区域识别模块302还可以适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的有效点击区域。

在具体实现中,所述界面场景信息可以包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

在本发明的一种可选实施例中,所述第一移动模块304还可以适于:

计算所述悬浮控件与所述有效点击区域边缘外各位置之间的距离;

将所述悬浮控件移动至所述有效点击区域边缘外距离最短的位置。

在本发明的一种可选实施例中,该装置还可以包括如下模块:

第一界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第一触控位置记录模块,适于记录针对所述第三方应用界面的有效的触控操作的第一触控位置;

第一聚类模块,适于对所述第一触控位置进行聚类,形成一个或多个第一触控位置集合;

有效点击区域拟合模块,适于将所述一个或多个第一触控位置集合拟合一个或多个有效点击区域;

第一对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效点击区域的对应关系。

在本发明的一种可选实施例中,所述触控操作可以包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

所述第一触控位置记录模块还可以适于:

当检测到针对所述第三方应用界面的点击操作时,记录所述点击操作的第一触控位置;

和/或,

当检测到针对所述第三方应用界面的滑动操作时,记录所述滑动操作的第一触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

参照图4,示出了根据本发明一个实施例的一种悬浮控件的处理装置实施例2的结构框图,具体可以包括如下模块:

界面检测模块401,适于检测悬浮控件所处的界面;

有效悬浮区域识别模块402,适于识别在所述界面中的可悬浮的有效悬浮区域;

第二位置判断模块403,适于判断所述悬浮控件是否在所述有效悬浮区域中;若否,则调用第二移动模块404;

第二移动模块404,将所述悬浮控件移至所述有效悬浮区域中。

在本发明的一种可选实施例中,所述有效悬浮区域识别模块402还可以适于:

当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

在本发明的另一种可选实施例中,所述有效悬浮区域识别模块402还可以适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的无效点击区域。

在具体实现中,所述界面场景信息可以包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

在本发明的一种可选实施例中,所述第二位置判断模块404还可以适于:

计算所述悬浮控件与所述有效悬浮区域边缘内各位置之间的距离;

将所述悬浮控件移动至所述有效悬浮区域边缘各距离最短的位置。

在本发明的一种可选实施例中,该装置还可以包括如下模块:

第二界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第二触控位置记录模块,适于记录针对所述悬浮控件的有效的触控操作的第二触控位置;

第二聚类模块,适于对所述第二触控位置进行聚类,形成一个或多个第 二触控位置集合;

有效悬浮区域拟合模块,适于将所述一个或多个第二触控位置集合拟合一个或多个有效悬浮区域;

第二对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效悬浮区域的对应关系。

在本发明的一种可选实施例中,所述第二触控位置记录模块还可以适于:

当触控操作触发所述悬浮控件的二级菜单时,检测所述二级菜单是否被点击;若是,则记录所述触控操作的第二触控位置;

和/或,

当触控操作触发所述悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销所述指定的操作;若否,则记录所述触控操作的第二触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的停止位置,作为第二触控位置。

对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个 或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的悬浮控件的处理设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信 号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明实施例公开了A1、一种悬浮控件的处理方法,包括:

检测悬浮控件所处的界面;

识别在所述界面中的可点击的有效点击区域;

判断所述悬浮控件是否在所述有效点击区域中;若是,则将所述悬浮控件移至所述有效点击区域外。

A2、如A1所述的方法,还包括:

识别在所述界面中的可悬浮的有效悬浮区域;

判断所述悬浮控件是否在所述有效悬浮区域中;若否,则将所述悬浮控件移至所述有效悬浮区域中。

A3、如A1所述的方法,所述识别在所述界面中的可点击的有效点击区域的步骤包括:

当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

A4、如A1所述的方法,所述识别在所述界面中的可点击的有效点击区域的步骤包括:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景 信息;

查找所述界面场景信息对应的有效点击区域。

A5、如A1所述的方法,所述将所述悬浮控件移至所述有效点击区域外的步骤包括:

计算所述悬浮控件与所述有效点击区域边缘外各位置之间的距离;

将所述悬浮控件移动至所述有效点击区域边缘外距离最短的位置。

A6、如A2所述的方法,所述识别在所述界面中的可悬浮的有效悬浮区域的步骤包括:

当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

A7、如A2所述的方法,所述识别在所述界面中的可悬浮的有效悬浮区域的步骤包括:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的无效点击区域。

A8、如A2所述的方法,所述将所述悬浮控件移至所述有效悬浮区域中的步骤包括:

计算所述悬浮控件与所述有效悬浮区域边缘内各位置之间的距离;

将所述悬浮控件移动至所述有效悬浮区域边缘各距离最短的位置。

A9、如A4或A7所述的方法,所述界面场景信息包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

A10、如A1或A2或A3或A4或A5或A6或A7或A8所述的方法,还包括:

获取悬浮控件所处第三方应用界面的界面场景信息;

记录针对所述第三方应用界面的有效的触控操作的第一触控位置;

对所述第一触控位置进行聚类,形成一个或多个第一触控位置集合;

将所述一个或多个第一触控位置集合拟合一个或多个有效点击区域;

建立所述界面场景信息与所述一个或多个有效点击区域的对应关系。

A11、如A10所述的方法,所述触控操作包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

所述记录针对所述第三方应用界面的有效的触控操作的第一触控位置的步骤包括:

当检测到针对所述第三方应用界面的点击操作时,记录所述点击操作的第一触控位置;

和/或,

当检测到针对所述第三方应用界面的滑动操作时,记录所述滑动操作的第一触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

A12、如A2或A6或A7或A8所述的方法,还包括:

获取悬浮控件所处第三方应用界面的界面场景信息;

记录针对所述悬浮控件的有效的触控操作的第二触控位置;

对所述第二触控位置进行聚类,形成一个或多个第二触控位置集合;

将所述一个或多个第二触控位置集合拟合一个或多个有效悬浮区域;

建立所述界面场景信息与所述一个或多个有效悬浮区域的对应关系。

A13、如A12所述的方法,所述记录针对所述悬浮控件的有效的触控操作的第二触控位置的步骤包括:

当触控操作触发所述悬浮控件的二级菜单时,检测所述二级菜单是否被点击;若是,则记录所述触控操作的第二触控位置;

和/或,

当触控操作触发所述悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销所述指定的操作;若否,则记录所述触控操作的第二触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的停止位置, 作为第二触控位置。

本发明实施例还公开了B14、一种悬浮控件的处理装置,包括:

界面检测模块,适于检测悬浮控件所处的界面;

有效点击区域识别模块,适于识别在所述界面中的可点击的有效点击区域;

第一位置判断模块,适于判断所述悬浮控件是否在所述有效点击区域中;若是,则调用第一移动模块;

第一移动模块,适于将所述悬浮控件移至所述有效点击区域外。

B15、如B14所述的装置,还包括:

有效悬浮区域识别模块,适于识别在所述界面中的可悬浮的有效悬浮区域;

第二位置判断模块,适于判断所述悬浮控件是否在所述有效悬浮区域中;若否,则调用第二移动模块;

第二移动模块,将所述悬浮控件移至所述有效悬浮区域中。

B16、如B14所述的装置,所述有效点击区域识别模块还适于:

当所述界面为系统应用界面时,识别在所述系统界面中的应用控件所处的区域,作为有效点击区域。

B17、如B14所述的装置,所述有效点击区域识别模块还适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的有效点击区域。

B18、如B14所述的装置,所述第一移动模块还适于:

计算所述悬浮控件与所述有效点击区域边缘外各位置之间的距离;

将所述悬浮控件移动至所述有效点击区域边缘外距离最短的位置。

B19、如B15所述的装置,所述有效悬浮区域识别模块还适于:

当所述界面为系统应用界面时,识别在所述系统界面中的非应用控件所处的区域,作为有效悬浮区域。

B20、如B15所述的装置,所述有效悬浮区域识别模块还适于:

当所述界面为第三方应用界面时,获取所述第三方应用界面的界面场景信息;

查找所述界面场景信息对应的无效点击区域。

B21、如B15所述的装置,所述第二位置判断模块还适于:

计算所述悬浮控件与所述有效悬浮区域边缘内各位置之间的距离;

将所述悬浮控件移动至所述有效悬浮区域边缘各距离最短的位置。

B22、如B17或B20所述的装置,所述界面场景信息包括如下的一种或多种:

设备标识、设备型号、应用标识、应用版本、横屏模式、竖屏模式。

B23、如B14或B15或B16或B17或B18或B19或B20或B21所述的装置,还包括:

第一界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第一触控位置记录模块,适于记录针对所述第三方应用界面的有效的触控操作的第一触控位置;

第一聚类模块,适于对所述第一触控位置进行聚类,形成一个或多个第一触控位置集合;

有效点击区域拟合模块,适于将所述一个或多个第一触控位置集合拟合一个或多个有效点击区域;

第一对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效点击区域的对应关系。

B24、如B23所述的装置,所述触控操作包括以下的一种或多种:

点击操作、滑动操作和拖动操作;

所述第一触控位置记录模块还适于:

当检测到针对所述第三方应用界面的点击操作时,记录所述点击操作的第一触控位置;

和/或,

当检测到针对所述第三方应用界面的滑动操作时,记录所述滑动操作的第一触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的起始位置,作为第一触控位置。

B25、如B15或B19或B20或B21所述的装置,还包括:

第二界面场景信息获取模块,适于获取悬浮控件所处第三方应用界面的界面场景信息;

第二触控位置记录模块,适于记录针对所述悬浮控件的有效的触控操作的第二触控位置;

第二聚类模块,适于对所述第二触控位置进行聚类,形成一个或多个第二触控位置集合;

有效悬浮区域拟合模块,适于将所述一个或多个第二触控位置集合拟合一个或多个有效悬浮区域;

第二对应关系建立模块,适于建立所述界面场景信息与所述一个或多个有效悬浮区域的对应关系。

B26、如B25所述的装置,所述第二触控位置记录模块还适于:

当触控操作触发所述悬浮控件的二级菜单时,检测所述二级菜单是否被点击;若是,则记录所述触控操作的第二触控位置;

和/或,

当触控操作触发所述悬浮控件执行指定的操作时,在预设的时间段内检测是否撤销所述指定的操作;若否,则记录所述触控操作的第二触控位置;

和/或,

当检测到针对所述悬浮控件的拖动操作时,记录拖动操作的停止位置,作为第二触控位置。

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