一种实现触摸屏界面滑动的方法和终端的制作方法

文档序号:6331157阅读:168来源:国知局
专利名称:一种实现触摸屏界面滑动的方法和终端的制作方法
技术领域
本发明是关于触摸屏技术领域,具体讲的是一种实现触摸屏界面滑动的方法和终端。
背景技术
随着信息技术不断发展和触摸屏成本的不断降低,触摸屏的应用已变得十分广 泛,例如触摸屏手机、触摸屏电纸书、触摸屏移动GPS(GlobalPositioning System,全球定 位系统),以及触摸屏视频播放器等等。点触操作成为越来越流行、便携的人机交互方式。然 而,在触摸屏的应用中也存在一些问题,例如,在浏览界面时,主要是通过点触滚动条来进 行界面的滚动,由于滚动条区域面积较小,因此存在点触不精确和容易引起误操作的问题。

发明内容
本发明所要解决的问题是,提供一种实现触摸屏界面滑动的方法和终端,以使界 面滑动的速度快,效率高。为了解决上述技术问题,本发明提供了一种实现触摸屏界面滑动的方法,包括在进入支持滑动的界面时,将当前界面的数据绘制到显存,将除当前界面之外的 所述支持滑动的界面的数据绘制到预先申请的缓冲区;在当前界面中接收到触摸移动消息后,若判断触摸物触摸移动的有效距离达到预 定值,则从所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并实时刷新当前 界面。进一步地,上述方法还具有下面特点所述判断触摸物触摸移动的有效距离达到 预定值具体为判断触摸物在预设的滑动区域内的触摸移动的有效距离达到预定值。进一步地,上述方法还具有下面特点所述在当前界面中接收到触摸移动消息后, 还包括若判断触摸物触摸移动的有效距离小于第一阀值,则将所述触摸物触摸移动处理 为点击操作,所述第一阀值小于所述预定值。进一步地,上述方法还具有下面特点在所述实时刷新当前界面的过程中,还包 括,接收到触摸抬起消息时,若判断触摸物离开触摸屏时的有效速度大于第二阀值, 则根据所述有效速度按照预定算法计算出的单位时间内的滑动距离,在所述单位时间内从 所述缓冲区中拷贝与所述滑动距离对应的数据到所述显存,并实时刷新当前界面。进一步地,上述方法还具有下面特点在所述实时刷新当前界面的过程中,还包 括,接收到触摸按压消息时,停止从所述缓冲区中拷贝数据。为了解决上述问题,本发明还提供了一种终端,具有触摸屏,包括,界面管理模块,用于在进入支持滑动的界面时,将当前界面的数据绘制到显存,将当前界面之外的数据绘制到预先申请的缓冲区;用于在当前界面中接收到触摸移动消息后 触发触控模块;用于接收到所述触控模块发来的刷新消息后,实时刷新当前界面;及所述触控模块,用于受到触发后,若判断触摸物触摸移动的有效距离达到预定值, 则从所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并向所述界面管理模块 发送刷新消息。进一步地,上述终端还具有下面特点所述界面管理模块是在当前界面中预设的 滑动区域内接收到触摸移动消息后触发所述触控模块的。进一步地,上述终端还具有下面特点所述界面管理模块,在当前界面中接收到触摸移动消息后还用于,若判断触摸物 触摸移动的有效距离小于第一阀值,则将所述触摸物触摸移动处理为点击操作,所述第一 阀值小于所述预定值。进一步地,上述终端还具有下面特点所述界面管理模块,还用于若在实时刷新当前界面的过程接收到触摸抬起消息, 并且检测到触摸物离开触摸屏时的有效速度大于第二阀值,则向所述触控模块发送第一通 知消息;所述触控模块,还用于接收到第一通知消息后,根据所述有效速度按照预定算法 计算出的单位时间内的滑动距离,在所述单位时间内从所述缓冲区中拷贝与所述滑动距离 对应的数据到所述显存,并向所述界面管理模块发送刷新消息。进一步地,上述终端还具有下面特点所述界面管理模块,还用于若在实时刷新当前界面的过程接收到触摸按压消息, 则向所述触控模块发送第二通知消息;所述触控模块,还用于接收到所述第二通知消息后,停止从所述缓冲区中拷贝数 据。综上,本发明提供的一种实现触摸屏界面滑动的方法和终端,在界面内容随滑动 更新时采用了直接操作显存进行刷屏的方式,能够有效的提升了界面滑动的速度和效率, 再者还能够实现在触摸物离开时仍能随惯性地滑动界面,提高了用户的感官体验,增加产 品的附加值和吸引力,进而提高了产品的竞争力。


图1为本发明实施例的终端的示意图。图2为本发明的实现触摸屏界面滑动的方法的流程图。图3为本发明实施例的实现触摸屏界面滑动的方法的流程图。图4为本发明实施例的对触摸移动消息的处理流程图。图5为本发明实施例中的对触摸抬起消息的处理流程。图6为本发明实施例中的对触摸按压消息的处理流程。图7为本发明实施例的支持滑动的界面的示意图。
具体实施例方式为了更好地理解本发明,下面结合附图和具体实施例对本发明作进一步地描述。
图1为本发明实施例的终端的示意图,如图1所示,本实施例的终端,是针对具有 触摸屏的终端,其包括界面管理模块和触控模块,其中,界面管理模块,用于在进入支持滑动的界面时,将当前界面的数据绘制到显存,将 除当前界面之外的所述支持滑动的界面的数据绘制到预先申请的缓冲区;在当前界面中接 收到触摸移动消息后触发触控模块;用于接收到所述触控模块发来的刷新消息后,实时刷 新当前界面,以实现界面滑动;及所述触控模块,用于受到触发后,若判断触摸物触摸移动的有效距离达到预定值, 则从所述缓冲区中拷贝一屏与将所述预定值对应的数据到所述显存,并向所述界面管理模 块发送刷新消息。这样,本发明的终端通过直接操作显存进行刷屏的方式,即能够有效的提升了界 面滑动的速度和效率。其中,所述界面管理模块在当前界面中接收到触摸移动消息后还可用于,若判断 触摸物触摸移动的有效距离小于第一阀值,第一阀值小于所述预定值,则将所述触摸物触 摸移动处理为点击操作,以增加用户的体验;若触摸物触摸移动的有效距离大于第一阀值, 但小于预定值,则在收到触摸抬起消息前,可以仅记录此时移动的有效距离,进行累积,直 到总的有效移动距离达到预定值时,再通知触控模块从缓冲区中拷贝数据,这样可以有效 地防止触摸物抖动引起的界面刷新。用户可以根据个人喜好设置所述第一阀值和所述预定值。其中,所述界面管理模块还可用于,若在实时刷新当前界面的过程接收到触摸抬 起消息,并且检测到触摸物离开触摸屏时的有效速度大于第二阀值,则向所述触控模块发 送第一通知消息;所述触控模块还用于接收到第一通知消息后,根据所述有效速度按照预定算法计 算出的单位时间内的滑动距离,在所述单位时间内从所述缓冲区中拷贝与所述滑动距离对 应的数据到所述显存,并向所述界面管理模块发送刷新消息。这样,本实施例的终端上的界面可以在触摸物离开触摸屏后,随惯性继续滑动一 定的距离,增加用户的体验。其中,所述界面管理模块还用于,若在实时刷新当前界面的过程接收到触摸按压 消息,则向所述触控模块发送第二通知消息;所述触控模块还用于接收到所述第二通知消 息后停止从所述缓冲区中拷贝数据。这样,本实施例的终端能够实现使滑动的界面停留在用户想要的界面上,而不用 等到界面随惯性滑动停止后,再后翻到想要的界面,增加用户的体验。下面通过具体实施例对本发明的实现触摸屏界面滑动的方法作详细的说明。首先,终端在应用初始化,例如GUI (图形用户接口)初始化时,将滑控模块初始 化。在支持滑动的界面创建时,可以提前绘制部分未知界面的信息,将绘制完成数据不直接 输出到显存,而是保存到缓冲区中。用户在进入某个支持滑动的界面时,首先终端会绘制当前界面的数据到物理显 存,然后由触控模块将显存切换到预先申请的缓冲区中,然后命令界面窗口将处于屏幕之 外的信息绘制到缓冲区中保存。在此界面收到触摸消息时,优先由滑控模块来负责处理当前界面的各种触摸消
6息。触摸消息可以有三种按压(down)消息、移动(move)消息和抬起(up)消息。图2为本发明的实现触摸屏界面滑动的方法的流程图,如图2所示,本发明的方法 包括下面步骤S10、终端在进入支持滑动的界面时,将当前界面的数据绘制到显存,将当前界面 之外的所述支持滑动的界面的数据绘制到预先申请的缓冲区;S20、终端在当前界面中接收到触摸移动消息后,若判断触摸物触摸移动的有效距 离达到预定值,则从所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并实时 刷新当前界面,以实现界面滑动。这样,根据本发明的方法能够有效的提升了界面滑动的速度和效率。由于界面 触摸滑动而需要更新时,所需要的时间一般包括两个部分界面的新的区域的绘制时间 Tl (绘制的数据保存到显存中),显存的数据刷到触摸屏上的时间T2。而本方法是已经预 先将页面绘制的数据保存到缓冲区中,因而滑动时界面区域的更新并不是重新绘制,而是 从已经绘制好的缓冲区数据中去取,因此时间Tl可以完全省掉。从缓冲区中取得界面数据 后,直接将数据拷贝到物理显存中,立即刷屏显示,这样每更新一次界面区域时,耗费的时 间只是T2。由于在滑动时更新区域的时间缩短,因此几乎可以做到每一个触摸移动的消息 都得到处理,这样给用户的感官体验是滑动细腻,速度快。在步骤S20中,终端在当前界面中接收到触摸移动消息后,若判断触摸物触摸移 动的有效距离小于第一阀值,则将所述触摸物触摸移动处理为点击操作,所述第一阀值小 于所述预定值;若判断触摸物触摸移动的有效移动距离大于第一阀值,但小于所述预定值, 则在收到触摸抬起消息前,可以仅记录此时移动的有效距离,进行累积,直到总的有效移动 距离达到预定值时,再通知触控模块从缓冲区中拷贝数据,这样可以有效地防止触摸物抖 动引起的界面刷新。在步骤S20中,若在所述实时刷新当前界面的过程中接收到触摸抬起消息时,将 判断是否要进行惯性滑动,具体地,本发明中判断是否要进行惯性滑动的依据是,判断触摸 物离开触摸屏时的有效速度(即在界面滑动的方向上的速度)是否大于预设阀值,若大于, 则使界面按照预定算法算出的滑动轨迹继续进行滑动,具体地,根据所述有效速度按照预 定算法计算出的单位时间内的滑动距离,然后在所述单位时间内从所述缓冲区中拷贝与所 述滑动距离对应的数据到所述显存,并实时刷新当前界面,实现惯性滑动;否则,不作惯性 滑动处理,直接将界面停留在触摸抬起时的界面。惯性滑动的轨迹的计算方法可以根据不同视效需要,而进行重新设计,可扩充性 好。进一步地,若在界面滑动的过程中接收到触摸按压消息,可以通知界面停留在当 前界面,停止从所述缓冲区中拷贝数据,能够实现使滑动的界面停留在用户想要的界面上, 而不用等到界面随惯性滑动停止后,再后翻到想要的界面,增加用户的体验。此外,本方法不依赖于具体的软硬件平台,可移植性好。若需要移植到其他的软硬 件平台上,只需要根据新平台的特点重新封装触控模块的消息处理接口和屏幕刷新接口即 可。下面以一款手持通讯设备的文件管理模块的垂直方向触摸滑动为例来说明本发 明的具体实施方式

图3为本发明实施例的实现触摸屏界面滑动的方法的流程图,如图3所示,包括下 面步骤步骤101、终端系统启动完成初始化,申请能存储例如7页的绘制数据大小的缓冲 内存Bi。步骤102、进入支持界面滑动的文件管理模块的主界面,界面如图7所示,此主界 面是一个含有多个列表项的界面,有触摸滑动的需求。步骤103、将当前界面的数据绘制到物理显存,然后将物理显存指针切换到预先申 请的内存Bi,再命令文件管理模块将除了当前页之外的上下各3页的数据都绘制到缓冲区 Bl中保存。步骤104、在文件管理器模块主界面,此时如果收到任何触摸消息,则优先由触控 模块来处理。可以将此界面的区域预设为Rl和R2区域,Rl区域为滑动区域,R2区域为非滑动 区域。步骤105、如果退出当前触摸滑动界面,则此轮界面滑动结束;若未退出,则一直 执行步骤104,进行界面滑动处理。图4为本发明实施例的对触摸移动消息的处理流程图,如图4所示,处理流程包括 以下步骤步骤201、实际的应用界面例如图6所示,收到触摸移动消息,此时首先记下A点移 动到新的位置B点的坐标(x2, y2)。步骤202、判断B点是否是在Rl区域内,如果不在,则进入步骤203 ;如果在,则进 入步骤204。步骤203、B点不在Rl区域内,则表示此次滑动已移出区域R1,进入非滑动区域 R2,此时可以视本轮滑动结束,将滑动标志位复位,也可以将移出区域Rl时的触摸消息视 为抬起消息,处理流程如图4所示。步骤204、B点仍在Rl区域内,则首先判断触摸按压标志位是否置位,如果没有,此 次触摸移动消息无效,不进行处理,然后进入步骤207 ;如果按压标志已经置位,则进入步 骤 205。步骤205、将B点的坐标减去A点的坐标,得到垂直方向的移动距离Δ y,判断Δ y 是否大于移动的阀值s,如果不大于s,则仅记录此次移动的距离,进行累积,但并不进行界 面的更新;如果大于移动的阀值S,则表明此时触摸移动将会导致界面的更新,当Ay达到 预设值时,即界面的内容将向上或者向下移动Ay,进入步骤206。步骤206、由触摸滑动导致的界面的更新;在本实施例中,根据垂直方向的移动距离Ay,将已经保存到Bl的数据,从当前指 针开始,将指针偏移Ay-W个字节,W为屏幕宽度w与屏幕色深d的乘积。再直接将Bl的 数据拷贝一屏的大小到物理显存中,调用直接刷屏接口,将界面更新。这样做的好处是节省了界面重新绘制的时间,而增加的时间是一页屏幕数据的内 存拷贝,此时间与绘制时间相比,几乎可以忽略。在由触摸滑动导致显示的界面更新后,以新的当前页为基础,重新计算上下各3 页的数据,然后将数据保存到Bl中。
步骤207、此次触摸移动消息处理结束。图5为本发明实施例中的对触摸抬起消息的处理流程,如图5所示,处理流程包括 以下步骤步骤301、实际的应用界面图例如图7所示,接收到触摸抬起消息,首先判断按压 标志位是否置位,如果没有置位,则进入步骤302,否则进入步骤303。步骤302、按压标志位没有置位,表明按压点在非滑动区域内,或者触摸物已经移 动到非滑动区域内,则此次抬起消息所需操作仅是将滑动控制的状态数据初始化。步骤303、如果按压标志位置位,则继续判断是否需要进行惯性滑动;判断的依据可以是触摸物离开触摸屏时的速度V,在满足惯性滑动时(即速度V大 于预定阀值)即可以按照预定算法算出的惯性滑动轨迹进行滑动。如果速度V小于阀值,则不需要进行惯性滑动,同时表明此轮滑动结束,进入步骤 305,如果V大于阀值,则需要进行惯性滑动,惯性滑动进入步骤304。步骤304、按照预定算法计算惯性滑动轨迹,根据计算出的惯性滑动轨迹进行界面 惯性滑动;本实施例提供一种计算惯性滑动轨迹的算法如下取触摸物离开屏幕前的3个坐标点的纵坐标P1、P2、P3,并记录每个坐标点消息到 达时的时刻Tl、T2、T3,然后计算出速度V和加速度a V= (Ρ3-Ρ1)/(Τ3_Τ1),a = (V1-V2) / (T3-T1);其中,Vl= (P2-P1) / (T2-T1),V2 = (P3-P2) / (T3-T2)。界面惯性滑动的总距离S与速度V和加速度a密切相关,惯性滑动过程可以通过 定时器来完成。首先,根据V和a,按照勻减速算法S = VT+(0. 5)*aT2,T为从触摸物离开屏幕到 定时器到来时所经过的时间间隔,计算惯性的滑动轨迹。即可以计算出下一个定时器时间到来时,当前界面在单位时间内需要移动的距离 AS, AS = S2-S1,其中,Sl = VTl+ (0. 5)*a(Tl)2, S2 = VT2+ (0. 5)*a(T2)2。本实例采用的是勻减速算法,也可以根据实际应用需要使用其他轨迹计算方法进 行替换。界面更新的方式与触摸移动消息导致的界面更新方式一样,即不进行重新绘制,而 是从预先保存的缓冲区Bl中获取。当速度V减至0时,此时移动距离Δ y也变为0,即表示 此次惯性滑动结束,同时也表示此轮触摸滑动结束,此时则进入步骤305。步骤305、此轮触摸滑动结束,将滑动控制的状态数据初始化。图6为本发明实施例中的对触摸按压消息的处理流程,如图6所示,处理流程包括 步骤步骤401、实际的应用界面图例如图7所示,界面收到触摸按压消息,此时记下按 压点A的坐标(xl,yl)0步骤402、判断点A是否是在Rl区域内,如果不在,则不处理此次按压消息;如果 在Rl区域内,则进入下一步判断。步骤403、如果A在Rl区域内,则判断界面是否已经在进行滑动,如果是,则进行步 骤404 ;如果没有进行惯性滑动,则转向步骤405。
步骤404、将此次按压消息当作惯性滑动停止的标志,由滑控模块通知界面,此轮 滑控结束,界面就停留在当前页步骤405、将此次按压消息当作是界面滑动开始的标志,将触摸按压标志位置位。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令 相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘 等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应 地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的 形式实现。本发明不限制于任何特定形式的硬件和软件的结合。以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定 本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在 不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的 保护范围。
10
权利要求
一种实现触摸屏界面滑动的方法,包括在进入支持滑动的界面时,将当前界面的数据绘制到显存,将除当前界面之外的所述支持滑动的界面的数据绘制到预先申请的缓冲区;在当前界面中接收到触摸移动消息后,若判断触摸物触摸移动的有效距离达到预定值,则从所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并实时刷新当前界面。
2.如权利要求1所述的方法,其特征在于所述判断触摸物触摸移动的有效距离达到 预定值具体为判断触摸物在预设的滑动区域内的触摸移动的有效距离达到预定值。
3.如权利要求2所述的方法,其特征在于所述在当前界面中接收到触摸移动消息后, 还包括若判断触摸物触摸移动的有效距离小于第一阀值,则将所述触摸物触摸移动处理为点 击操作,所述第一阀值小于所述预定值。
4.如权利要求1所述的方法,其特征在于在所述实时刷新当前界面的过程中,还包括,接收到触摸抬起消息时,若判断触摸物离开触摸屏时的有效速度大于第二阀值,则根 据所述有效速度按照预定算法计算出的单位时间内的滑动距离,在所述单位时间内从所述 缓冲区中拷贝与所述滑动距离对应的数据到所述显存,并实时刷新当前界面。
5.如权利要求1-4任一项所述的方法,其特征在于在所述实时刷新当前界面的过程 中,还包括,接收到触摸按压消息时,停止从所述缓冲区中拷贝数据。
6.一种终端,具有触摸屏,包括,界面管理模块,用于在进入支持滑动的界面时,将当前界面的数据绘制到显存,将当前 界面之外的数据绘制到预先申请的缓冲区;用于在当前界面中接收到触摸移动消息后触发 触控模块;用于接收到所述触控模块发来的刷新消息后,实时刷新当前界面;及所述触控模块,用于受到触发后,若判断触摸物触摸移动的有效距离达到预定值,则从 所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并向所述界面管理模块发送 刷新消息。
7.如权利要求6所述的终端,其特征在于所述界面管理模块是在当前界面中预设的滑动区域内接收到触摸移动消息后触发所 述触控模块的。
8.如权利要求7所述的终端,其特征在于所述界面管理模块,在当前界面中接收到触摸移动消息后还用于,若判断触摸物触摸 移动的有效距离小于第一阀值,则将所述触摸物触摸移动处理为点击操作,所述第一阀值 小于所述预定值。
9.如权利要求6所述的终端,其特征在于所述界面管理模块,还用于若在实时刷新当前界面的过程接收到触摸抬起消息,并且 检测到触摸物离开触摸屏时的有效速度大于第二阀值,则向所述触控模块发送第一通知消 息;所述触控模块,还用于接收到第一通知消息后,根据所述有效速度按照预定算法计算 出的单位时间内的滑动距离,在所述单位时间内从所述缓冲区中拷贝与所述滑动距离对应 的数据到所述显存,并向所述界面管理模块发送刷新消息。
10.如权利要求6-9任一项所述的终端,其特征在于所述界面管理模块,还用于若在实时刷新当前界面的过程接收到触摸按压消息,则向 所述触控模块发送第二通知消息;所述触控模块,还用于接收到所述第二通知消息后,停止从所述缓冲区中拷贝数据。
全文摘要
本发明提供一种实现触摸屏界面滑动的方法和终端,该方法包括在进入支持滑动的界面时,将当前界面的数据绘制到显存,将除当前界面之外的所述支持滑动的界面的数据绘制到预先申请的缓冲区;在当前界面中接收到触摸移动消息后,若判断触摸物触摸移动的有效距离达到预定值,则从所述缓冲区中拷贝一屏与所述预定值对应的数据到所述显存,并实时刷新当前界面。本发明能够在界面内容随滑动更新时采用了直接操作显存进行刷屏的方式,能够有效的提升了界面滑动的速度和效率。
文档编号G06F3/048GK101950235SQ201010267129
公开日2011年1月19日 申请日期2010年8月23日 优先权日2010年8月23日
发明者张超, 蒋本兵 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1