[0024] 下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0025] 图1是移动终端100的结构框图。移动终端100可以包括存储器接口102、一个或多个数据处理器、图像处理器和/或中央处理单元104,以及外围接口106。
[0026] 存储器接口102、一个或多个处理器104和/或外围接口106既可以是分立元件,也可以集成在一个或多个集成电路中。在移动终端100中,各种元件可以通过一条或多条通信总线或信号线来耦合。传感器、设备和子系统可以耦合到外围接口106,以便帮助实现多种功能。
[0027] 例如,运动传感器110、光线传感器112和距离传感器114可以耦合到外围接口106,以方便定向、照明和测距等功能。其他传感器116同样可以与外围接口106相连,例如定位系统(例如GPS接收机)、温度传感器、生物测定传感器或其他感测设备,由此可以帮助实施相关的功能。
[0028] 相机子系统120和光学传感器122可以用于方便诸如记录照片和视频剪辑的相机功能的实现,其中所述相机子系统和光学传感器例如可以是电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光学传感器。可以通过一个或多个无线通信子系统124来帮助实现通信功能,其中无线通信子系统可以包括射频接收机和发射机和/或光(例如红外)接收机和发射机。无线通信子系统124的特定设计和实施方式可以取决于移动终端100所支持的一个或多个通信网络。例如,移动终端100可以包括被设计成支持LTE、3G、GSM网络、GPRS网络、EDGE网络、Wi-Fi或WiMax网络以及BlueboothTM网络的通信子系统124。
[0029] 音频子系统126可以与扬声器128以及麦克风130相耦合,以便帮助实施启用语音的功能,例如语音识别、语音复制、数字记录和电话功能。I/O子系统140可以包括触摸屏控制器142和/或一个或多个其他输入控制器144。触摸屏控制器142可以耦合到触摸屏146。举例来说,该触摸屏146和触摸屏控制器142可以使用多种触摸感测技术中的任何一种来检测与之进行的接触和移动或是暂停,其中感测技术包括但不局限于电容性、电阻性、红外和表面声波技术。一个或多个其他输入控制器144可以耦合到其他输入/控制设备148,例如一个或多个按钮、摇杆开关、拇指旋轮、红外端口、USB端口、和/或指示笔之类的指点设备。所述一个或多个按钮(未显示)可以包括用于控制扬声器128和/或麦克风130音量的向上/向下按钮。
[0030] 存储器接口102可以与存储器150相耦合。该存储器150可以包括高速随机存取存储器和/或非易失性存储器,例如一个或多个磁盘存储设备,一个或多个光学存储设备,和/或闪存存储器(例如NAND,NOR)。存储器150可以存储操作系统172,例如Android、iOS或是Windows Phone之类的操作系统。该操作系统172可以包括用于处理基本系统服务以及执行依赖于硬件的任务的指令。存储器150还可以存储应用174。在移动设备运行时,会从存储器150中加载操作系统172,并且由处理器104执行。应用174在运行时,也会从存储器150中加载,并由处理器104执行。应用174运行在操作系统之上,利用操作系统以及底层硬件提供的接口实现各种用户期望的功能,如即时通信、网页浏览、图片管理等。应用174可以是独立于操作系统提供的,也可以是操作系统自带的。另外,应用174被安装到移动终端100中时,也可以向操作系统添加驱动模块。在上述各种应用174中,其中的一种应用为根据本发明的图标隐藏的装置400。
[0031] 图2示出了根据本发明一个实施例的图标隐藏的方法200的流程图。应用图标生成方法200适于在移动终端(例如图1所示的移动终端100)中执行。
[0032] 如图2所示,方法200始于步骤S210。在步骤S210中,首先接收用户对第一图标的第一手势输入。图3(a)示出了根据本发明一个实施例的移动终端的桌面图标分布示意图。如图3(a)所示,移动终端的桌面上分布有7个图标,分别是图标A、图标B、图标C、图标D、图标E、图标F和图标G,各图标均为矩形且大小一致。在本实施例中,图标G为第一图标,图标E为第二图标。
[0033] 随后,在步骤S220中,判断步骤S210中获得的第一手势输入是否为对第一图标的多点拖动。在本实施例中,对第一图标的多点拖动为在第一图标,即图标G的至少两个触摸点上按压超过预定时间并拖动,其中预定时间为900毫秒。Android系统下的移动终端通过onTouchEvent()函数接收用户的第一手势输入,当用户开始接触图标后,MotionEvent.getPointerCount()函数获取第一手势输入的触摸点数量,若触摸点数量不少于两个,则从移动终端接收第一手势输入开始进行计时,如果统计时间超过900毫秒后MotionEvent.getPointerCount()函数获取的触摸点数量仍不少于两个,并且图标G开始拖动,则判定第一手势输入为对第一图标的多点拖动。
[0034] 步骤S230中,如果第一手势输入为对第一图标向第二图标的多点拖动,则将第一图标向第二图标移动。在本实施例中,若在图标G上的至少两个触摸点按压超过900毫秒并拖动,则图标G向图标E移动。
[0035] 在第一图标向第二图标移动前,获取第一图标移动前的起始位置、长、宽和第二图标的起始位置。图3(b)示出了根据本发明一个实施例的第一图标的位置信息示意图。如图3(b)所示,图标G的左上角顶点为其起始位置,和水平方向同方向的边长为图标G的长,和垂直方向同方向的边长为图标G的宽,两条对角线的交点为图标G的中心点,上述定义对图标A-F均适用。
[0036] 随后进入步骤S240,判断第一图标移动后的位置是否进入第二图标的范围,即判断移动后的第一图标的中心点位置是否位于第二图标位置范围内。
[0037] 在第一图标向第二图标移动的过程中,还要获取第一图标的移动距离,并根据第一图标移动前的起始位置、长、宽和第二图标的起始位置以及第一图标的移动距离,确定移动后的第一图标的中心点位置。图3(c)示出了根据本发明一个实施例的第一图标在直角坐标系下的移动示意图。在本实施例中,如图3(c)所示,以移动终端屏幕中桌面显示的左上角为原点,建立直角坐标系,横轴为X轴,纵轴为Y轴。其中,第一图标,即图标G移动前的起始位置的坐标是(x1,y1),长为w,宽为h,移动距离向量为(Δx,Δy)。第二图标,即图标E的起始位置坐标是(x3,y3)。图标G移动后的中心点的位置坐标是(x2,y2),由下式计算得出:x2=x1+w/2+Δx,y2=y1+h/2+Δy。
[0038] 在本实施例中,判断移动后的第一图标的中心点位置是否位于第二图标位置范围内,即判断移动后的图标G的中心点位置坐标(x2,y2)是否满足下式:x3
[0039] 图3(d)示出了根据本发明一个实施例的第一图标中心点未进入第二图标位置范围的示意图,图3(e)则示出了根据本发明一个实施例的第一图标中心点进入第二图标位置范围的示意图。在本实施例中,如图3(d)所示,移动后图标G的中心点尚未进入图标E的位置范围,此时中心点位置坐标(x2,y2)中的纵坐标y2>y3+h,不满足y3
[0040] 步骤S250中,如果第一图标移动后的位置进入第二图标的范围,则将第一图标覆盖至第二图标上并隐藏第二图标。在本实施例中,当移动后图标G的中心点位置坐标(x2,y2)满足x3
[0041] 图4示出了根据本发明一个实施例的图标隐藏的装置400的示意图。该装置包括:接收模块410、第一判断模块420、移动模块430、第二判断模块440和隐藏模块450。
[0042] 接收模块410适于接收用户对第一图标的第一手势输入。在如图3(a)所示的根据本发明一个实施例的移动终端的桌面图标分布示意图中,图标A、图标B、图标C、图标D、图标E、图标F和图标G是分布在桌面上的7个图标,各图标均为矩形且大小一致。在本实施例中,图标G为第一图标,图标E为第二图标。
[0043] 第一判断模块420适于判断第一手势输入是否为对第一图标的多点拖动。在本实施例中,对第一图标的多点拖动是为在第一图标,即图标G的至少两个触摸点上按压超过预定时间并拖动,其中预定时间为900毫秒。Android系统下的移动终端通过onTouchEvent()函数接收用户的第一手势输入,当用户开始接触图标后,MotionEvent.getPointerCount()函数获取第一手势输入的触摸点数量,若触摸点数量不少于两个,则从移动终端接收第一手势输入开始进行计时,如果统计时间超过900毫秒后MotionEvent.get PointerCount()函数获取的触摸点数量仍不少于两个,并且图标G开始拖动,则判定第一手势输入为对第一图标的多点拖动。
[0044] 移动模块430适于当第一手势输入为对第一图标向第二图标的多点拖动时,将第一图标向第二图标移动。在本实施例中,若在图标G上的至少两个触摸点按压超过900毫秒并拖动,则图标G向图标E移动。
[0045] 在第一图标向第二图标移动前,获取第一图标移动前的起始位置、长、宽和第二图标的起始位置。在如图3(b)所示的根据本发明的一个实施例的第一图标的位置信息示意图中,图标G的左上角顶点为其起始位置,和水平方向同方向的边长为图标G的长,和垂直方向同方向的边长为图标G的宽,两条对角线的交点为图标G的中心点,上述定义对图标A-F均适用。
[0046] 第二判断模块440适于判断第一图标移动后的位置是否进入第二图标的范围,进一步适于判断移动后的第一图标的中心点位置是否位于第二图标位置范围内。
[0047] 在第一图标向第二图标移动的过程中,还要获取第一图标的移动距离,并根据第一图标移动前的起始位置、长、宽和第二图标的起始位置以及第一图标的移动距离,确定移动后的第一图标的中心点位置。在如图3(c)所示的根据本发明一个实施例的第一图标在直角坐标系下的移动示意图中,以移动终端屏幕中桌面显示的左上角为原点,建立直角坐标系,横轴为X轴,纵轴为Y轴。其中,第一图标,即图标G移动前的起始位置的坐标是(x1,y1),长为w,宽为h,移动距离向量为(Δx,Δy)。第二图标,即图标E的起始位置坐标是(x3,y3)。图标G移动后的中心点的位置坐标是(x2,y2),由下式计算得出:x2=x1+w/2+Δx,y2=y1+h/2+Δy。
[0048] 在本实施例中,判断移动后的第一图标的中心点位置是否位于第二图标位置范围内,即判断移动后的图标G的中心点位置坐标(x2,y2)是否满足下式:x3
[0049] 在如图3(d)中所示的根据本发明一个实施例的第一图标中心点未进入第二图标位置范围的示意图中,移动后图标G的中心点尚未进入图标E的位置范围,此时中心点位置坐标(x2,y2)中的纵坐标y2>y3+h,不满足y3
[0050] 隐藏模块450适于当第一图标移动后的位置进入第二图标的范围时,将第一图标覆盖至第二图标上,并隐藏第二图标。在本实施例中,移动后图标G的中心点位置坐标(x2,y2)满足x3
[0051] 在现有技术中,为保证移动终端的使用过程中用户的个人隐私不被窥视,通常会对应用图标进行隐藏,而目前图标隐藏的技术方案在操作的方便性和灵活性上有所欠缺。根据本发明实施例的图标隐藏的技术方案,首先接收用户对第一图标的第一手势输入,如果第一手势输入是在第一图标的至少两个触摸点上按压超过预定时间并拖动,则将第一图标向第二图标移动,当移动后的第一图标的中心点位置位于第二图标位置范围时,将第一图标覆盖至第二图标上并隐藏第二图标。上述技术方案无需进行场景切换,避免进入具体的设置页面而直接在桌面操作即可隐藏图标,有效地提高了用户隐藏图标的效率和隐私保护。
[0052] B10.如B7-9中任一项所述的装置,第二判断模块进一步适于判断移动后的第一图标的中心点位置是否位于第二图标位置范围内。
[0053] B11.如B10所述的装置,还适于:
[0054] 获取所述第一图标移动前的起始位置、长、宽和第二图标的起始位置;
[0055] 获取所述第一图标的移动距离;以及
[0056] 根据所述第一图标移动前的起始位置、长、宽和第二图标的起始位置以及所述第一图标的移动距离,确定所述移动后的第一图标的中心点位置。
[0057] B12.如B11所述的装置,其中所述确定所述移动后的第一图标的中心点位置包括根据下式计算移动后的第一图标的中心点位置(x2,y2):x2=x1+w/2+Δx,y2=y1+h/2+Δy,所述判断移动后的第一图标的中心点位置是否位于第二图标位置范围内包括判断是否满足下式:x3
[0058] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0059] 类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。更确切地说,发明方面在于少于前面公开的单个实施例的所有特征。
[0060] 本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
[0061] 本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0062] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
[0063] 此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
[0064] 如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
[0065] 尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的。