CN105549762A - 一种悬浮键移动方法和装置 - Google Patents
一种悬浮键移动方法和装置 Download PDFInfo
- Publication number
- CN105549762A CN105549762A CN201510536935.6A CN201510536935A CN105549762A CN 105549762 A CN105549762 A CN 105549762A CN 201510536935 A CN201510536935 A CN 201510536935A CN 105549762 A CN105549762 A CN 105549762A
- Authority
- CN
- China
- Prior art keywords
- suspension key
- acceleration
- terminal
- key
- display screen
- 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.)
- Granted
Links
- 239000000725 suspension Substances 0.000 title claims abstract description 248
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000001133 acceleration Effects 0.000 claims abstract description 195
- 230000005484 gravity Effects 0.000 claims abstract description 93
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 3
- 230000002153 concerted effect Effects 0.000 description 3
- 239000013078 crystal Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- RFHAOTPXVQNOHP-UHFFFAOYSA-N fluconazole Chemical compound C1=NC=NN1CC(C=1C(=CC(F)=CC=1)F)(O)CN1C=NC=N1 RFHAOTPXVQNOHP-UHFFFAOYSA-N 0.000 description 2
- 230000003137 locomotive effect Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
Landscapes
- Telephone Function (AREA)
Abstract
本发明实施例公开了一种悬浮键移动方法,所述方法包括:通过重力传感器获取终端的重力加速度;获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数;根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。本发明还公开了一种悬浮键移动装置。采用本发明,可以实现根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作。
Description
技术领域
本发明涉及电子技术领域,尤其涉及一种悬浮键移动方法和装置。
背景技术
由于电子终端的功能越来越多,很多功能按键寻找起来比较麻烦,因此电子终端通常通过一个集合多种功能按键的悬浮在显示屏幕上的按键来方便用户的操作。但是,随着电子终端的不断发展,电子终端的显示屏幕变得越来越大,在用户握持电子终端时,就会出现握持手无法触及的显示屏幕范围,例如,用户右手单手握持一个大屏手机,如果用户想用右手点击大屏手机显示屏幕的左边区域的悬浮键就会非常的吃力,甚至根本够不到。
发明内容
本发明实施例所要解决的技术问题在于,提供一种悬浮键移动方法和装置,可以根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作。
为了解决上述问题,本发明实施例提供了一种悬浮键移动方法,包括:
通过重力传感器获取终端的重力加速度;
获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数;
根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
相应地,本发明实施例还提供了一种装置,包括:
重力获取模块,用于通过重力传感器获取终端的重力加速度;
加速度获取模块,用于获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数;
第一移动模块,用于根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
本发明实施例通过重力传感器获取终端的重力加速度,然后获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数,再根据所述加速度参数在所述终端的显示屏幕中移动悬浮键,实现了根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例中一种悬浮键移动方法的流程示意图;
图2是本发明另一实施例中悬浮键移动方法的流程示意图;
图3是本发明实施例中一种悬浮键移动装置的组成结构示意图;
图4是本发明实施例中图3的计算模块组成结构示意图;
图5a是本发明实施例中一种基准坐标系的示意图;
图5b是本发明实施例中另一种基准坐标系的示意图;
图6是本发明实施例中一种基准坐标系上投影的加速度参数的示意图;
图7是本发明实施例中一种基准坐标系上悬浮键移动方向的示意图;
图8是本发明实施例中一种悬浮键与显示屏幕边缘之间的距离的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是本发明实施例中一种悬浮键移动方法的流程示意图,本方法流程可以由悬浮键移动装置实施,所述悬浮键移动装置可以为用户终端或运行在用户终端的软件程序,所述用户终端可以包括手机、笔记本电脑、平板电脑、车载电脑、POS(PointOfSales,销售点)机等。如图所示所述方法至少包括:
步骤S101,通过重力传感器获取终端的重力加速度。
具体的,终端内部具有重力传感器芯片,重力传感器芯片可以通过终端内部由于加速度造成的晶体形变而产生的电压来获知终端的重力加速度,这里重力加速度包括重力加速度的大小以及重力加速度的方向。具体实施中,终端可以在用户触发悬浮键移动开启指令时,从重力传感器中获取终端的重力加速度,也可以定时从重力传感器中获取终端的重力加速度,当接收到用户触发悬浮键移动开启指令时,再在步骤S102中对获取到的重力加速度进行分析,这里不作限定。
步骤S102,获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数。
具体的,基准坐标系为终端预先设定的以终端的显示屏幕为基准的X-Y坐标系,可以是如图5a或者图5b所示的坐标系,也可以是其他形式的在终端的显示屏幕上的形成的X-Y坐标系。利用步骤S101获取到的重力加速度,可以将其投影在基准坐标系上,从而获得基准坐标系中的加速度参数,这里加速度参数包括投影在X坐标和Y坐标上的加速度,加速度又包括X坐标和Y坐标上加速度分量的大小和方向。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,加速度的方向分别为X坐标方向和Y坐标的正方向。
步骤S103,根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
具体的,终端可以将步骤S102中获取的重力加速度在终端显示屏幕的基准坐标系上投影的加速度作为悬浮键在显示屏幕上移动的加速度,然后根据该加速度的方向和大小移动悬浮键;也可以先对重力加速度在终端显示屏幕的基准坐标系上投影的加速度经过预设的数学变换,之后将经过数学变换得到的加速度作为悬浮键在显示屏幕上移动的加速度,再根据该加速度的大小和方向移动悬浮键。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,可以将加速度a1和a2直接作为悬浮键在显示屏幕上移动的加速度来移动悬浮键,也可以将加速度a1和a2与预设的数值10的比值a11=0.4m/s2和a22=0.3m/s2作为悬浮键在显示屏幕上移动的加速度来移动悬浮键。
在具体的移动过程中,悬浮键的移动方向和移动合加速度的大小是根据悬浮键移动的加速度在X坐标和Y坐标上的方向和大小联合确定的。举例来说,假设悬浮键的移动加速度在X坐标和Y坐标上分别为a3=4m/s2和a4=3m/s2,方向如图7所示,那么悬浮键的移动方向即为图中a5所示的方向,且移动合加速度那么终端就可以按照a5的方向,以a5的数值5m/s2作为加速度移动悬浮键。
本发明实施例通过重力传感器获取终端的重力加速度,然后获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数,再根据所述加速度参数在所述终端的显示屏幕中移动悬浮键,实现了根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作。
图2是本发明另一实施例中悬浮键移动方法的流程示意图,如图所示所述方法至少包括:
步骤S201,接收悬浮键移动开启指令。
具体的,在悬浮键在默认情况下是不会根据终端获取的重力加速度进行移动的,通常悬浮键是处于固定位置或者可以由用户进行拖动等操作来改变其位置。因此,悬浮键移动功能需要通过悬浮键移动开启指令来触发。具体实施中,悬浮键移动开启指令可以是点击终端预设在工具栏中的一个开关图标、按下终端硬件装置中的一个按钮或者用户在终端中输入的一种开启手势等等操作。当终端接收到用户输入的悬浮键移动开启指令后,才可以根据后续的步骤移动悬浮键。
步骤S202,通过重力传感器获取终端的重力加速度。
具体的,终端内部具有重力传感器芯片,重力传感器芯片可以通过终端内部由于加速度造成的晶体形变而产生的电压来获知终端的重力加速度,这里重力加速度包括重力加速度的大小以及重力加速度的方向。具体实施中,终端在接收到悬浮键移动开启指令后,就可以从重力传感器中获取终端的重力加速度。
步骤S203,获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数。
具体的,基准坐标系为终端预先设定的以终端的显示屏幕为基准的X-Y坐标系,可以是如图5a或者图5b所示的坐标系,也可以是其他形式的在终端的显示屏幕上的形成的X-Y坐标系。利用步骤S202获取到的重力加速度后,可以将其投影在基准坐标系上,从而获得基准坐标系中的加速度参数,这里加速度参数包括投影在X坐标和Y坐标上的加速度,加速度又包括X坐标和Y坐标上加速度分量的大小和方向。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,加速度的方向分别为X坐标方向和Y坐标的正方向。
步骤S204,根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
具体的,终端可以将步骤S203中获取的重力加速度在终端显示屏幕的基准坐标系上投影的加速度作为悬浮键在显示屏幕上移动的加速度,然后根据该加速度的方向和大小移动悬浮键;也可以先对重力加速度在终端显示屏幕的基准坐标系上投影的加速度经过预设的数学变换,之后将经过数学变换得到的加速度作为悬浮键在显示屏幕上移动的加速度,再根据该加速度的大小和方向移动悬浮键。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,可以将加速度a1和a2直接作为悬浮键在显示屏幕上移动的加速度来移动悬浮键,也可以将加速度a1和a2与预设的数值10的比值a11=0.4m/s2和a22=0.3m/s2作为悬浮键在显示屏幕上移动的加速度来移动悬浮键。
在具体的移动过程中,悬浮键的移动方向和移动合加速度的大小是根据悬浮键移动的加速度在X坐标和Y坐标上的方向和大小联合确定的。举例来说,假设悬浮键的移动加速度在X坐标和Y坐标上分别为a3=4m/s2和a4=3m/s2,方向如图7所示,那么悬浮键的移动方向即为图中a5所示的方向,且移动合加速度那么终端就可以按照a5的方向,以a5的数值5m/s2作为加速度移动悬浮键。
步骤S205,当检测到所述悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,根据所述悬浮键与所述显示屏幕边缘之间的距离和预设的PID算法公式计算速度反馈值。
具体的,终端可以不断的定时获取悬浮键的移动位置,当检测到悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,则改变原来的悬浮键的移动速度,通过PID算法(ProportionalIntegrationDifferential,比例、积分、微分)的速度反馈值对悬浮键的移动进行减速。
具体来说,第一距离阈值可以设定为悬浮键与其在初始静止时的显示屏幕边缘之间的距离的阈值,也可以设定为悬浮键与其移动方向所指向的屏幕边缘之间的距离的阈值。例如,如图8所示,虚线圆形为悬浮键的初始位置,之后移动到实现圆形所处的位置,第一距离阈值可以是悬浮键与其在初始静止时的显示屏幕边缘之间的距离d1,也可以是悬浮键与其移动方向所指向的屏幕边缘之间的距离d2。当检测到悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值后,可以开始采集悬浮键与终端显示屏幕边缘之间的距离。具体实施中,悬浮键与终端显示屏幕边缘之间的距离的采集可以设定采集时间区间进行定时采集,也可以限定次数进行有规律的采集,还可以不限制次数和时间的随机采集;这里,采集的悬浮键与终端显示屏幕边缘之间的距离同样可以是图8中所示的d1或者d2中的一种。
进一步地,将采集到的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离作为第k、k-1和k-2次采集的所述悬浮键与所述终端显示屏幕边缘之间的距离,即e(k)、e(k-1)和e(k-2),再将这三个值代入PID算法公式Δ={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]}中进行计算,从而获得悬浮键移动的速度反馈值。需要说明的是,Kp、Ki、Kd为预设的调整系数。
步骤S206,根据所述加速度参数和所述速度反馈值确定所述悬浮键的移动速度。
具体的,在步骤S204中可以根据所述加速度参数确定悬浮键的移动加速度以及移动方向,进一步的,还可以通过悬浮键的移动加速度的大小来确定悬浮键在当前位置的移动速度的大小。例如,可以在悬浮键开始移动时进行计时,然后在悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时获取悬浮键移动的时间t,进而通过速度公式v=at来确定悬浮键在当前位置时的移动速度大小v。最后,将悬浮键在当前位置时的移动速度大小v与步骤S205计算出的速度反馈值的差值作为新的悬浮键的移动速度的大小,进行接下来的移动,从而使得悬浮键的移动速度减小。例如,假设步骤S204中确定的悬浮键的合力加速度为a=5m/s2,悬浮键从移动开始到移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值的时间t为1s,那么根据公式v=at,悬浮键在当前位置时的移动速度大小v=5m/s,若根据步骤S205中计算出的速度反馈值Δ=2m/s,那么新的悬浮键的移动速度即为v-Δ=3m/s。需要说明的是,这里的速度反馈值只改变悬浮键移动速度的大小,不改变其移动方向。
步骤S207,根据所述悬浮键的移动速度在所述终端的显示屏幕中移动所述悬浮键。
具体的,根据步骤S206得到的新的悬浮键的移动速度的大小,移动方向依旧与步骤S204中确定的方向一致,移动悬浮键。
进一步地,终端可以继续按照步骤S205的方法定时采集的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离,依照PID算法公式计算新的速度反馈值,然后按照步骤S206的方法进一步减小悬浮键移动速度的大小。如此循环执行PID算法,以达到控制悬浮键的移动速度的目的。仍继续步骤S206中的例子说明,假设每过t1=0.5s获取一次新的速度反馈值,那么获取到新的悬浮键的移动速度v-Δ=3m/s之后,终端继续选择采集到的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离来根据PID算法公式计算新的速度反馈值Δ1,得到Δ1=1m/s,然后根据公式v1=at1可以确定0.5s后的悬浮键移动速度为v1=2.5m/s,那么新的悬浮键的移动速度即为v1-Δ1=1.5m/s。
步骤S208,当检测到所述悬浮键移动到与所述终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,停止移动所述悬浮键。
具体的,随着悬浮键不断移动到接近终端显示屏幕边缘的时候,也即悬浮键移动到与终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,终端则停止悬浮键的移动。
在可选实施例中,速度反馈值可以替换为加速度反馈值。
具体实施中,加速度反馈值仍通过PID算法公式进行计算,但是公式中的Kp、Ki、Kd三个预设的调整值会与计算速度反馈值时有所变化,以得到合理的加速度反馈值,也即可以使悬浮键减速的加速度反馈值。进一步地,根据加速度参数和加速度反馈值可以确定悬浮键新的移动加速度,例如,悬浮键的合力加速度为a1=5m/s2,PID算法公式计算的加速度反馈值δ=6m/s2,则悬浮键在当前位置的新的移动加速度大小即为a1-δ=-1m/s2。需要说明的是,Kp、Ki、Kd三个预设的调整值可以保证新的移动加速度的大小不会导致悬浮键移动方向的变化。进而,可以根据悬浮键新的移动加速度在终端的显示屏幕中移动悬浮键。例如,终端就按照不变的移动方向,以a1的数值-1m/s2作为加速度移动悬浮键。
本发明实施例通过重力传感器获取终端的重力加速度,然后获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数,再根据所述加速度参数在所述终端的显示屏幕中移动悬浮键,实现了根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作,同时还利用PID算法对悬浮键移动进行减速控制,使用户可以更加准确的控制悬浮键在显示界面的停留位置,优化了悬浮键的移动效果。
图3是本发明实施例中一种悬浮键移动装置的组成结构示意图。
重力获取模块310,用于通过重力传感器获取终端的重力加速度。
具体的,重力获取模块310具有重力传感器芯片,重力传感器芯片可以通过终端内部由于加速度造成的晶体形变而产生的电压来获知终端的重力加速度,这里重力加速度包括重力加速度的大小以及重力加速度的方向。具体实施中,重力获取模块310可以在用户触发悬浮键移动开启指令时,从重力传感器中获取终端的重力加速度,也可以定时从重力传感器中获取终端的重力加速度,当接收到用户触发悬浮键移动开启指令时,再在加速度获取模块320对获取到的重力加速度进行分析,这里不作限定。
加速度获取模块320,用于获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数。
具体的,基准坐标系为终端预先设定的以终端的显示屏幕为基准的X-Y坐标系,可以是如图5a或者图5b所示的坐标系,也可以是其他形式的在终端的显示屏幕上的形成的X-Y坐标系。加速度获取模块320利用获取到的重力加速度,可以将其投影在基准坐标系上,从而获得基准坐标系中的加速度参数,这里加速度参数包括投影在X坐标和Y坐标上的加速度,加速度又包括X坐标和Y坐标上加速度分量的大小和方向。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,加速度的方向分别为X坐标方向和Y坐标的正方向。
第一移动模块330,用于根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
具体的,第一移动模块330可以将加速度获取模块320获取的重力加速度在终端显示屏幕的基准坐标系上投影的加速度作为悬浮键在显示屏幕上移动的加速度,然后根据该加速度的方向和大小移动悬浮键;也可以先对重力加速度在终端显示屏幕的基准坐标系上投影的加速度经过预设的数学变换,之后将经过数学变换得到的加速度作为悬浮键在显示屏幕上移动的加速度,再根据该加速度的大小和方向移动悬浮键。例如,如图6所示,重力加速度在终端显示屏幕的基准坐标系上投影出X坐标和Y坐标上的加速度的大小分别为a1=4m/s2和a2=3m/s2,可以将加速度a1和a2直接作为悬浮键在显示屏幕上移动的加速度来移动悬浮键,也可以将加速度a1和a2与预设的数值10的比值a11=0.4m/s2和a22=0.3m/s2作为悬浮键在显示屏幕上移动的加速度来移动悬浮键。
在具体的移动过程中,悬浮键的移动方向和移动合加速度的大小是根据悬浮键移动的加速度在X坐标和Y坐标上的方向和大小联合确定的。举例来说,假设悬浮键的移动加速度在X坐标和Y坐标上分别为a3=4m/s2和a4=3m/s2,方向如图7所示,那么悬浮键的移动方向即为图中a5所示的方向,且移动合加速度那么终端就可以按照a5的方向,以a5的数值5m/s2作为加速度移动悬浮键。
反馈模块340,用于当检测到所述悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,根据所述悬浮键与所述显示屏幕边缘之间的距离和预设的PID算法公式计算速度反馈值。
具体的,终端可以不断的定时获取悬浮键的移动位置,当检测到悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,则改变原来的悬浮键的移动速度,反馈模块340通过PID算法的速度反馈值对悬浮键的移动进行减速。
具体来说,第一距离阈值可以设定为悬浮键与其在初始静止时的显示屏幕边缘之间的距离的阈值,也可以设定为悬浮键与其移动方向所指向的屏幕边缘之间的距离的阈值。例如,如图8所示,虚线圆形为悬浮键的初始位置,之后移动到实现圆形所处的位置,第一距离阈值可以是悬浮键与其在初始静止时的显示屏幕边缘之间的距离d1,也可以是悬浮键与其移动方向所指向的屏幕边缘之间的距离d2。
进一步地,反馈模块340还包括:采集单元341和计算单元342,如图4所示。
采集单元341,用于采集所述悬浮键与所述终端显示屏幕边缘之间的距离。
具体的,当检测到悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值后,采集单元341可以开始采集悬浮键与终端显示屏幕边缘之间的距离。具体实施中,悬浮键与终端显示屏幕边缘之间的距离的采集可以设定采集时间区间进行定时采集,也可以限定次数进行有规律的采集,还可以不限制次数和时间的随机采集;这里,采集的悬浮键与终端显示屏幕边缘之间的距离同样可以是图8中所示的d1或者d2中的一种。
计算单元342,用于根据PID算法公式Δ={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]}计算所述速度反馈值,其中,e(k)为第k次采集的所述悬浮键与所述终端显示屏幕边缘之间的距离,Kp、Ki、Kd为预设的调整系数。
具体的,计算单元342将采集到的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离作为第k、k-1和k-2次采集的所述悬浮键与所述终端显示屏幕边缘之间的距离,即e(k)、e(k-1)和e(k-2),再将这三个值代入PID算法公式Δ={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]}中进行计算,从而获得悬浮键移动的速度反馈值。需要说明的是,Kp、Ki、Kd为预设的调整系数。
速度模块350,用于根据所述加速度参数和所述速度反馈值确定所述悬浮键的移动速度。
具体的,第一移动模块330可以根据所述加速度参数确定悬浮键的移动加速度以及移动方向,进一步的,速度模块350还可以通过悬浮键的移动加速度的大小来确定悬浮键在当前位置的移动速度的大小。例如,可以在悬浮键开始移动时进行计时,然后在悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时获取悬浮键移动的时间t,进而通过速度公式v=at来确定悬浮键在当前位置时的移动速度大小v。最后,将悬浮键在当前位置时的移动速度大小v与反馈模块340计算出的速度反馈值的差值作为新的悬浮键的移动速度的大小,进行接下来的移动,从而使得悬浮键的移动速度减小。例如,假设步骤S204中确定的悬浮键的合力加速度为a=5m/s2,悬浮键从移动开始到移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值的时间t为1s,那么根据公式v=at,悬浮键在当前位置时的移动速度大小v=5m/s,若根据步骤S205中计算出的速度反馈值Δ=2m/s,那么新的悬浮键的移动速度即为v-Δ=3m/s。需要说明的是,这里的速度反馈值只改变悬浮键移动速度的大小,不改变其移动方向。
第二移动模块360,用于根据所述悬浮键的移动速度在所述终端的显示屏幕中移动所述悬浮键。
具体的,根据速度模块350得到的新的悬浮键的移动速度的大小,移动方向依旧与第一移动模块330中确定的方向一致,第二移动模块360移动悬浮键。
进一步地,终端可以继续按照反馈模块340的方法定时采集的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离,依照PID算法公式计算新的速度反馈值,然后按照速度模块350的方法进一步减小悬浮键移动速度的大小。如此循环执行PID算法,以达到控制悬浮键的移动速度的目的。仍继续速度模块350中的例子说明,假设每过t1=0.5s获取一次新的速度反馈值,那么获取到新的悬浮键的移动速度v-Δ=3m/s之后,终端继续选择采集到的悬浮键与终端显示屏幕边缘之间的距离中任意连续的三次采集距离来根据PID算法公式计算新的速度反馈值Δ1,得到Δ1=1m/s,然后根据公式v1=at1可以确定0.5s后的悬浮键移动速度为v1=2.5m/s,那么新的悬浮键的移动速度即为v1-Δ1=1.5m/s。
停止模块370,用于当检测到所述悬浮键移动到与所述终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,停止移动所述悬浮键。
具体的,随着悬浮键不断移动到接近终端显示屏幕边缘的时候,也即悬浮键移动到与终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,停止模块370则停止悬浮键的移动。
指令模块380,用于接收悬浮键移动开启指令。
具体的,在悬浮键在默认情况下是不会根据终端获取的重力加速度进行移动的,通常悬浮键是处于固定位置或者可以由用户进行拖动等操作来改变其位置。因此,悬浮键移动功能需要通过悬浮键移动开启指令来触发。具体实施中,悬浮键移动开启指令可以是点击终端预设在工具栏中的一个开关图标、按下终端硬件装置中的一个按钮或者用户在终端中输入的一种开启手势等等操作。当指令模块380接收到用户输入的悬浮键移动开启指令后,才可以根据后续的步骤移动悬浮键。
本发明实施例通过重力传感器获取终端的重力加速度,然后获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数,再根据所述加速度参数在所述终端的显示屏幕中移动悬浮键,实现了根据终端重力加速度的变化来移动悬浮键,进而优化用户在单手握持终端时对悬浮键的操作,同时还利用PID算法对悬浮键移动进行减速控制,使用户可以更加准确的控制悬浮键在显示界面的停留位置,优化了悬浮键的移动效果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。
Claims (12)
1.一种悬浮键移动方法,其特征在于,所述方法包括:
通过重力传感器获取终端的重力加速度;
获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数;
根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
2.如权利要求1所述的悬浮键移动方法,其特征在于,所述根据所述加速度参数在所述终端的显示屏幕中移动悬浮键包括:
将所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度作为所述悬浮键在显示屏幕上移动的加速度。
3.如权利要求1所述的悬浮键移动方法,其特征在于,所述方法还包括:
当检测到所述悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,根据所述悬浮键与所述显示屏幕边缘之间的距离和预设的PID算法公式计算速度反馈值;
根据所述加速度参数和所述速度反馈值确定所述悬浮键的移动速度;
根据所述悬浮键的移动速度在所述终端的显示屏幕中移动所述悬浮键。
4.如权利要求3所述的悬浮键移动方法,其特征在于,所述根据所述悬浮键与所述显示屏幕边缘之间的距离和预设的PID算法公式计算速度反馈值包括:
采集所述悬浮键与所述终端显示屏幕边缘之间的距离;
根据PID算法公式Δ={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]}计算所述速度反馈值,其中,e(k)为第k次采集的所述悬浮键与所述终端显示屏幕边缘之间的距离,Kp、Ki、Kd为预设的调整系数。
5.如权利要求1所述的悬浮键移动方法,其特征在于,所述方法还包括:
当检测到所述悬浮键移动到与所述终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,停止移动所述悬浮键。
6.如权利要求1所述的悬浮键移动方法,其特征在于,所述根据所述加速度参数在所述终端的显示屏幕中移动悬浮键之前还包括:
接收悬浮键移动开启指令。
7.一种悬浮键移动装置,其特征在于,所述装置包括:
重力获取模块,用于通过重力传感器获取终端的重力加速度;
加速度获取模块,用于获取所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度参数;
第一移动模块,用于根据所述加速度参数在所述终端的显示屏幕中移动悬浮键。
8.如权利要求7所述的悬浮键移动装置,其特征在于,所述第一移动模块具体用于:
将所述重力加速度在终端显示屏幕的基准坐标系上投影的加速度作为所述悬浮键在显示屏幕上移动的加速度。
9.如权利要求7所述的悬浮键移动装置,其特征在于,所述装置还包括:
反馈模块,用于当检测到所述悬浮键移动到与显示屏幕边缘之间的距离达到预设的第一距离阈值时,根据所述悬浮键与所述显示屏幕边缘之间的距离和预设的PID算法公式计算速度反馈值;
速度模块,用于根据所述加速度参数和所述速度反馈值确定所述悬浮键的移动速度;
第二移动模块,用于根据所述悬浮键的移动速度在所述终端的显示屏幕中移动所述悬浮键。
10.如权利要求9所述的悬浮键移动装置,其特征在于,所述反馈模块包括:
采集单元,用于采集所述悬浮键与所述终端显示屏幕边缘之间的距离;
计算单元,用于根据PID算法公式Δ={Kp[e(k)-e(k-1)]+Kie(k)+Kd[e(k)-2e(k-1)+e(k-2)]}计算所述速度反馈值,其中,e(k)为第k次采集的所述悬浮键与所述终端显示屏幕边缘之间的距离,Kp、Ki、Kd为预设的调整系数。
11.如权利要求7所述的悬浮键移动装置,其特征在于,所述装置还包括:
停止模块,用于当检测到所述悬浮键移动到与所述终端显示屏幕边缘之间的距离小于预设的第二距离阈值时,停止移动所述悬浮键。
12.如权利要求7所述的悬浮键移动装置,其特征在于,所述装置还包括:
指令模块,用于接收悬浮键移动开启指令。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510536935.6A CN105549762B (zh) | 2015-08-27 | 2015-08-27 | 一种悬浮键移动方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510536935.6A CN105549762B (zh) | 2015-08-27 | 2015-08-27 | 一种悬浮键移动方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105549762A true CN105549762A (zh) | 2016-05-04 |
CN105549762B CN105549762B (zh) | 2019-06-11 |
Family
ID=55828983
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510536935.6A Expired - Fee Related CN105549762B (zh) | 2015-08-27 | 2015-08-27 | 一种悬浮键移动方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105549762B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527763A (zh) * | 2016-10-31 | 2017-03-22 | 维沃移动通信有限公司 | 一种调整显示对象位置的方法及移动终端 |
CN106775352A (zh) * | 2016-12-15 | 2017-05-31 | 北京小米移动软件有限公司 | 悬浮键的移动方法、装置及设备 |
CN107203726A (zh) * | 2017-05-17 | 2017-09-26 | 东南大学 | 一种抗侧信道攻击的智能终端安全输入方法 |
CN111400177A (zh) * | 2020-03-12 | 2020-07-10 | 咪咕文化科技有限公司 | 调试方法、装置、电子设备及存储介质 |
CN111510552A (zh) * | 2019-01-31 | 2020-08-07 | 北京小米移动软件有限公司 | 终端操作方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868814A (zh) * | 2012-09-06 | 2013-01-09 | 惠州Tcl移动通信有限公司 | 一种手机屏幕解锁方法及手机 |
CN102945138A (zh) * | 2012-11-14 | 2013-02-27 | 李江涛 | 应用程序的切换方法及终端 |
CN103777742A (zh) * | 2012-10-19 | 2014-05-07 | 广州三星通信技术研究有限公司 | 用于在显示装置中提供用户界面的方法和显示装置 |
JP2014086003A (ja) * | 2012-10-26 | 2014-05-12 | Konica Minolta Inc | 携帯型入力受付装置および入力受付プログラム |
CN103838244A (zh) * | 2014-03-20 | 2014-06-04 | 湖南大学 | 基于四轴飞行器的便携式目标跟踪方法及系统 |
CN104090719A (zh) * | 2014-06-24 | 2014-10-08 | Tcl通讯(宁波)有限公司 | 移动终端根据加速度改变量平移显示内容的方法及系统 |
CN104123065A (zh) * | 2014-07-23 | 2014-10-29 | 北京乐动卓越科技有限公司 | 一种移动终端上的悬浮按钮的显示方法及系统 |
-
2015
- 2015-08-27 CN CN201510536935.6A patent/CN105549762B/zh not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102868814A (zh) * | 2012-09-06 | 2013-01-09 | 惠州Tcl移动通信有限公司 | 一种手机屏幕解锁方法及手机 |
CN103777742A (zh) * | 2012-10-19 | 2014-05-07 | 广州三星通信技术研究有限公司 | 用于在显示装置中提供用户界面的方法和显示装置 |
JP2014086003A (ja) * | 2012-10-26 | 2014-05-12 | Konica Minolta Inc | 携帯型入力受付装置および入力受付プログラム |
CN102945138A (zh) * | 2012-11-14 | 2013-02-27 | 李江涛 | 应用程序的切换方法及终端 |
CN103838244A (zh) * | 2014-03-20 | 2014-06-04 | 湖南大学 | 基于四轴飞行器的便携式目标跟踪方法及系统 |
CN104090719A (zh) * | 2014-06-24 | 2014-10-08 | Tcl通讯(宁波)有限公司 | 移动终端根据加速度改变量平移显示内容的方法及系统 |
CN104123065A (zh) * | 2014-07-23 | 2014-10-29 | 北京乐动卓越科技有限公司 | 一种移动终端上的悬浮按钮的显示方法及系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106527763A (zh) * | 2016-10-31 | 2017-03-22 | 维沃移动通信有限公司 | 一种调整显示对象位置的方法及移动终端 |
CN106527763B (zh) * | 2016-10-31 | 2020-02-04 | 维沃移动通信有限公司 | 一种调整显示对象位置的方法及移动终端 |
CN106775352A (zh) * | 2016-12-15 | 2017-05-31 | 北京小米移动软件有限公司 | 悬浮键的移动方法、装置及设备 |
CN107203726A (zh) * | 2017-05-17 | 2017-09-26 | 东南大学 | 一种抗侧信道攻击的智能终端安全输入方法 |
CN111510552A (zh) * | 2019-01-31 | 2020-08-07 | 北京小米移动软件有限公司 | 终端操作方法及装置 |
CN111400177A (zh) * | 2020-03-12 | 2020-07-10 | 咪咕文化科技有限公司 | 调试方法、装置、电子设备及存储介质 |
CN111400177B (zh) * | 2020-03-12 | 2023-08-15 | 咪咕文化科技有限公司 | 调试方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105549762B (zh) | 2019-06-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105549762A (zh) | 一种悬浮键移动方法和装置 | |
EP3054373A1 (en) | Method and apparatus for processing suspended or distance operation | |
TWI411946B (zh) | The touchpad controls how the cursor on the display is on the screen | |
US9395852B2 (en) | Method for distinguishing between edge swipe gestures that enter a touch sensor from an edge and other similar but non-edge swipe actions | |
KR101895612B1 (ko) | 정보 처리 장치, 정보 처리 방법 및 프로그램 | |
CN104007932A (zh) | 一种触摸点识别方法及装置 | |
US20110050629A1 (en) | Information processing apparatus, information processing method and program | |
WO2018193711A1 (ja) | タッチセンサ式電子デバイス、及びセンサ制御方法 | |
US20130061122A1 (en) | Multi-cell selection using touch input | |
TWI389014B (zh) | Touchpad detection method | |
CN104238877A (zh) | 控制图标的方法和终端 | |
US20160062543A1 (en) | Touch control device and method | |
CN104536643A (zh) | 一种图标拖动方法及终端 | |
CN103699289A (zh) | 滑动操作响应方法及装置 | |
CN103513817A (zh) | 一种触控设备及控制其配置操作模式的方法、装置 | |
CN104182166A (zh) | 智能终端应用程序的控制方法和装置 | |
WO2018046000A1 (zh) | 触控操作方法和装置 | |
JP5782821B2 (ja) | タッチパネル装置およびタッチパネル装置の制御方法 | |
CN103513886A (zh) | 触控设备、触控设备中目标对象移动方法及装置 | |
JP2014109883A (ja) | 電子機器及びその制御方法 | |
CN104978135A (zh) | 一种图标显示方法、装置及移动终端 | |
JP6255321B2 (ja) | 情報処理装置とその指先操作識別方法並びにプログラム | |
CN104423548A (zh) | 一种控制方法及装置 | |
CN104777988A (zh) | 一种数据处理方法及电子设备 | |
CN105159555A (zh) | 一种用户设备控制方法及用户设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190611 |