一种屏幕滚动的方法和装置的制作方法

文档序号:6429166阅读:318来源:国知局
专利名称:一种屏幕滚动的方法和装置的制作方法
技术领域
本发明涉及触摸屏控制领域,特别涉及一种屏幕滚动的方法和装置。
背景技术
触控屏(Touch panel)又称为触控面板,是个可接收触头等输入讯号的感应式液晶显示装置,当接触了屏幕上的图形按钮时,屏幕上的触觉反馈系统可根据预先编程的程式驱动各种连结装置,可用以取代机械式的按钮面板,并借由液晶显示画面制造出生动的影首效果。在目前,为了适应大屏幕终端的需求,并且增加终端的可玩性,越来越多的终端开始使用触摸屏。例如,目前使用Android(安卓)操作系统的手机,基本上都使用触摸屏作为手机屏幕。在实现本发明的过程中,发明人发现现有技术至少存在以下问题 由于采用触摸屏,终端的按键较少或没有,导致屏幕间的切换不便。

发明内容
为了解决多屏幕间的切换不便的问题,本发明实施例提供了一种屏幕滚动的方法和装置。所述技术方案如下一种屏幕滚动的方法,所述方法包括获取触摸屏上触点的初始位置;当所述触点的位置在所述触摸屏上沿着目标方向移动时,获取所述触点的实时位置;根据所述触点的初始位置和实时位置计算得出所述触点沿所述目标方向移动的
距离;判断所述触点沿所述目标方向移动的距离是否大于指定值;如果所述触点沿所述目标方向移动的距离大于所述指定值,根据所述触点移动的距离绘制当前屏幕画面;当所述触点消失时,根据所述触点沿所述目标方向移动的距离确定距离当前屏幕最近的一屏屏幕画面,在所述当前屏幕上绘制所述最近的一屏屏幕画面。一种屏幕滚动的装置,所述装置包括第一获取模块,用于获取触摸屏上触点的初始位置;第二获取模块,用于当所述触点的位置在所述触摸屏上沿着目标方向移动时,获取所述触点的实时位置;距离计算模块,用于根据所述触点的初始位置和实时位置计算得出所述触点沿所述目标方向移动的距离;第一判断模块,用于判断所述触点沿所述目标方向移动的距离是否大于指定值;绘制模块,用于当所述判断模块判断得出所述触点沿所述目标方向移动的距离大于所述指定值时,根据所述触点移动的距离绘制当前屏幕画面;屏幕画面滚动模块,用于当所述触点消失时,根据所述触点沿所述目标方向移动的距离确定距离当前屏幕最近的一屏屏幕画面,在所述当前屏幕上绘制所述最近的一屏屏幕画面。本发明实施例提供的技术方案带来的有益效果是通过获取触点在触摸屏上的初始位置和触点在沿着目标方向移动时的实时位置,根据触点在触摸屏上沿着目标方向移动的距离绘制当前屏幕画面,当触点消失时时,使得当前屏幕自动滚动到最近一屏的屏幕画面,提供了一种屏幕滚动的方法,使得具有触摸屏的终端屏幕实现了屏幕的滚动,并使用户对具有触摸屏的终端的操纵更加方便。


为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图I是本发明实施例I中提供的一种屏幕滚动的方法的流程示意图;图2是本发明实施例2中提供的当前终端屏幕的屏幕画面示意图;图3是本发明实施例2中提供的一种屏幕滚动的方法的流程示意图;图4是本发明实施例2中提供的当用户手指按下时当前终端屏幕的屏幕画面示意图;图5是本发明实施例2中提供的当用户手指向右滑动时当前终端屏幕的屏幕画面示意图;图6是本发明实施例2中提供的滚动到最近一屏屏幕画面后的当前终端屏幕的屏眷画面不意图;图7是本发明实施例3中提供的一种屏幕滚动的装置的结构示意图;图8是本发明实施例3中提供的一种屏幕滚动的装置的第二种结构示意图;图9是本发明实施例3中提供的一种屏幕滚动的装置中的屏幕画面滚动模块的结构示意图;图10是本发明实施例3中提供的一种屏幕滚动的装置的第三种结构示意图。
具体实施例方式为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。实施例I本实施例I提供了一种屏幕滚动的方法,如图I所示,该方法具体包括101、获取触摸屏上触点的初始位置;102、当触点的位置在触摸屏上沿着目标方向移动时,获取触点的实时位置;103、根据触点的初始位置和实时位置计算得出触点沿目标方向移动的距离;104、判断触点沿目标方向移动的距离是否大于指定值,如果是,执行步骤105 ;
105、根据触点移动的距离绘制当前屏幕画面;106、当触点消失时,根据触点沿目标方向移动的距离确定距离当前屏幕最近的一屏屏幕画面,在当前屏幕上绘制最近的一屏屏幕画面。本发明实施例通过获取触点在触摸屏上的初始位置和触点在沿着目标方向移动时的实时位置,根据触点在触摸屏上沿着目标方向移动的距离绘制当前屏幕画面,当触点消失时时,使得当前屏幕自动滚动到最近一屏的屏幕画面,提供了一种屏幕滚动的方法,使得具有触摸屏的终端屏幕实现了屏幕的滚动,并使用户对具有触摸屏的终端的操纵更加方便。实施例2本实施例2提供了一种屏幕滚动的方法,是对实施例I的具体说明。在本实施例中,以对使用Android操作系统的触摸屏终端进行屏幕滚动为例进行 说明。如图2所示,当前终端中共存在5层屏幕界面(如图2中黑色实线所示),从左至右分别为第一屏幕界面、第二屏幕界面、第三屏幕界面、第四屏幕界面、第五屏幕界面,使用虚线框表示当前终端屏幕,当前终端屏幕上停留的位置为第三层屏幕界面;在本实施例中,当终端获取到触摸屏被按下的指令时,终端检测得到的触摸屏被按下的位置为触点,并且,在本实施例中使用坐标表示触点的位置,设定终端屏幕宽度为w个像素,初始时,以第一屏幕界面的左上顶点为原点(坐标为O);将当前屏幕的左上顶点坐标作为当前屏幕的坐标,设置为X。如图2中所示,当前屏幕的坐标X为2w,当使用手指在终端屏幕上按下并向右滚动η个像素时,X坐标变为2w-n。如图3所示,一种屏幕滚动的方法,具体包括201、当用户手指在触摸屏上按下时,检测得到触点的初始位置,并记录初始位置的坐标为初始坐标;具体地,如图4所示,当用户手指在触摸屏按下时,终端检测得到用户手指与触摸屏的触点的初始位置,触发终端操作系统提供的具有位置记录功能的模块记录上述初始位置的坐标。例如,在本实施例中,终端安装有Android操作系统,则使用Android操作系统提供的控件onlnterceptTouchEvent方法,记录下当前用户手指在触摸屏上的触点所处位置的初始坐标,并设置onlnterceptTouchEvent返回值Flase。进一步地,本步骤还可以包括将第一坐标提供给速度采集器。其中,速度采集器具体的为Android操作系统提供的接口 VelocityTracker。202、当用户的手指向目标方向移动时,获取触点的实时位置,并记录实时位置的坐标为实时坐标;在本实施例中,如图5所示,当用户的手指向右移动时,记录用户手指在触摸屏上的触点所处的实时位置的坐标为当前坐标。203、判断用户手指在触摸屏上沿目标方向移动的距离是否大于指定值,如果是,执行步骤204,如果不是,不执行任何操作;
其中,用户手指在触摸屏上移动的距离,具体的为将触点的初始坐标和实时坐标取差值,并取该差值的绝对值,该绝对值即为用户手指在触摸屏上沿目标方向移动的距离,在本实施例中,由于坐标以像素为单位,因此,用户手指在触摸屏上沿目标方向移动的距离也以像素为单位。指定值为在终端操作系统中根据屏幕滚动的精度预设的值,用以判别是否进行屏
眷滑动。204、根据用户手指向目标方向移动的距离绘制屏幕;具体地,当用户手指在触摸屏上按下并向右移动时,终端屏幕所显示的第三屏幕整体向右移动,并根据用户手指向右移动的像素消除第三屏幕的相应部分,显示第二屏幕的相应部分,具体如图5所示。在本实施例中,根据用户手指向目标方向移动的距离绘制屏幕,具体包括 当初始坐标和当前坐标的差值的绝对值大于指定值时,onlnterceptTouchEvent返回值为true,将当前坐标提供给速度采集器,根据触点的初始坐标和实时坐标的差值的绝对值得到用户手指在触摸屏上移动的像素,例如,假设用户手指在触摸屏上滚动的像素为n,则根据用户手指在触摸屏上移动的像素为η计算出当前屏幕的坐标为χ-η,根据当前屏幕的坐标绘制当前屏幕。205、判断触点是否消失,如果是,执行步骤206,如果不是,返回步骤204 ;在本实施例中,判断触点是否消失,具体的为判断触摸屏上的压力是否消失,即用户是否松开手指。206、将当前屏幕滚动到最近一屏的屏幕画面;其中,将当前终端屏幕滚动到最近一屏的屏幕画面,具体包括206-1、计算用户手指松开时当前屏幕的滚动速度V ;其中,滚动速度V具体为速度采集器根据用户当前手指的移动速度获得。206-2、根据滚动速度V计算当前屏幕在默认减速度下能够滚动的距离d2 ;在本实施例中,具体的使用公式I和公式2计算得到距离d2 V =(公式 I)d2=vt-# (公式 2)
2/206-3、根据当前屏幕的坐标计算到达最近一屏的屏幕画面的距离Cl1 ;206-4、判断距离d2是否小于距离Cl1,如果是,执行步骤206_5,如果不是,执行步骤206-6 ;206-5、根据距离Cl1计算当前屏幕滚动的减速度a2,使滚动速度为O时当前屏幕滚动到最近一屏屏幕画面,完成屏幕滚动;在本实施例中,具体的使用公式3和公式4计算减速度a2 V = a2t(公式 3)Ci1=Vt- ^ (公式 4)
2206-6、根据距离Cl1计算在默认减速度下当前屏幕滚动到最近一屏屏幕画面所需的时间A,执行步骤206-7 ;
在本实施例中,具体的使用公式5和公式6计算当前终端屏幕滚动到最近一屏屏幕画面所需的时间L V = a1t1(公式 5)
权利要求
1.一种屏幕滚动的方法,其特征在于,所述方法包括 获取触摸屏上触点的初始位置; 当所述触点的位置在所述触摸屏上沿着目标方向移动时,获取所述触点的实时位置; 根据所述触点的初始位置和实时位置计算得出所述触点沿所述目标方向移动的距离; 判断所述触点沿所述目标方向移动的距离是否大于指定值; 如果所述触点沿所述目标方向移动的距离大于所述指定值,根据所述触点移动的距离绘制当前屏幕画面; 当所述触点消失时,根据所述触点沿所述目标方向移动的距离确定距离当前屏幕最近的一屏屏幕画面,在所述当前屏幕上绘制所述最近的一屏屏幕画面。
2.根据权利要求I所述的方法,其特征在于,所述根据所述触点沿所述目标方向移动的距离绘制当前屏幕画面,具体包括 获取所述初始位置的坐标和实时位置的坐标,根据所述初始位置的坐标和实时位置的坐标的差值的绝对值得到所述触点沿目标方法移动的像素,根据所述触点沿目标方法移动的像素确定当前屏幕的坐标,并根据所述当前屏幕画面的坐标绘制所述当前屏幕画面。
3.根据权利要求I所述的方法,其特征在于,所述根据所述触点移动的距离绘制当前屏幕画面之后,所述方法还包括 判断所述触点是否消失,当所述触点未消失时,返回所述根据所述触点移动的距离绘制当前屏幕画面的步骤。
4.根据权利要求2所述的方法,其特征在于,所述在所述当前屏幕上绘制所述最近的一屏屏幕画面,具体包括 步骤a、计算得到所述触点消失后所述当前屏幕的滚动速度V ; 步骤b、根据所述滚动速度V计算所述当前屏幕在默认减速度下能够滚动的距离d2 ; 步骤C、根据所述当前屏幕的坐标计算到达最近一屏屏幕画面的距离Cl1 ; 步骤d、判断所述距离d2是否小于所述距离Cl1,如果是,执行步骤e,如果不是,执行步骤f; 步骤e、根据所述距离Cl1计算所述当前屏幕滚动的减速度a2,使滚动速度为O时所述当前屏幕滚动到所述最近一屏屏幕画面,完成屏幕滚动; 步骤f、根据所述距离Cl1计算在所述默认减速度下所述当前屏幕滚动到所述最近一屏屏幕画面所需的时间h,并执行步骤g ; 步骤g、根据所述默认减速度%计算当滚动速度为O时所述当前屏幕可滚动的距离d3,并执行步骤h; 步骤h、判断所述距离d3是否大于所述距离d2,如果是,执行步骤i,如果不是,执行步骤j ; 步骤i、所述当前屏幕输出反弹效果,并滚动到所述最近一屏屏幕画面,完成屏幕滚动; 步骤j、将所述距离d3和所述触点消失时所处的位置的坐标相加得到所述当前屏幕的坐标,根据所述当前屏幕的坐标绘制所述最近一屏屏幕画面,完成屏幕滚动。
5.根据权利要求4所述的方法,其特征在于,所述当前屏幕输出反弹效果,具体包括步骤il、根据所述最近一屏屏幕画面滚动到所述当前终端屏幕边界后经过的时间t计算得到时间t2 ; 步骤i2、根据所述时间t2和所述距离Cl1计算得到反弹距离V ; 步骤i3、将所述反弹距离V与所述触点消失时所述当前屏幕的坐标相加得到所述当前屏幕的反弹坐标,根据所述当前终幕的反弹坐标绘制屏幕画面; 重复执行所述步骤il、i2、 3直至反弹时间超过I秒。
6.根据权利要求I所述的方法,其特征在于,所述在所述当前屏幕上绘制所述最近的一屏屏幕画面之后,所述方法还包括 在缓存中绘制所述当前屏幕画面的左右两个屏幕画面。
7.一种屏幕滚动的装置,其特征在于,所述装置包括 第一获取模块,用于获取触摸屏上触点的初始位置; 第二获取模块,用于当所述触点的位置在所述触摸屏上沿着目标方向移动时,获取所述触点的实时位置; 距离计算模块,用于根据所述触点的初始位置和实时位置计算得出所述触点沿所述目标方向移动的距离; 第一判断模块,用于判断所述触点沿所述目标方向移动的距离是否大于指定值; 绘制模块,用于当所述第一判断模块判断得出所述触点沿所述目标方向移动的距离大于所述指定值时,根据所述触点移动的距离绘制当前屏幕画面; 屏幕画面滚动模块,用于当所述触点消失时,根据所述触点沿所述目标方向移动的距离确定距离当前屏幕最近的一屏屏幕画面,在所述当前屏幕上绘制所述最近的一屏屏幕画面。
8.根据权利要求7所述的装置,其特征在于,所述绘制模块,具体用于,当所述第一判断模块判断得出所述触点沿所述目标方向移动的距离大于所述指定值时,获取所述初始位置的坐标和实时位置的坐标,根据所述初始位置的坐标和实时位置的坐标的差值的绝对值得到所述触点沿目标方法移动的像素,根据所述触点沿目标方法移动的像素确定当前屏幕的坐标,并根据所述当前屏幕画面的坐标绘制所述当前屏幕画面。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括 第二判断模块,用于在所述绘制模块根据所述触点移动的距离绘制当前屏幕画面之后,判断所述触点是否消失,当所述触点未消失时,返回所述根据所述触点移动的距离绘制当前屏幕画面的步骤。
10.根据权利要求7所述的装置,其特征在于,所述屏幕画面滚动模块,具体包括 第一计算单元,用于计算得到所述触点消失后所述当前屏幕的滚动速度V ; 第二计算单元,用于根据所述滚动速度V计算所述当前屏幕在默认减速度下能够滚动的距离d2 ; 第三计算单元,用于根据所述当前屏幕的坐标计算到达最近一屏屏幕画面的距离Cl1 ; 第一判断单元,用于判断所述距离d2是否小于所述距离Cl1 ; 第四计算单元,用于当所述第一判断单元判断得出所述距离d2小于所述距离Cl1时,根据所述距离Cl1计算所述当前屏幕滚动的减速度a2,使滚动速度为O时所述当前屏幕滚动到所述最近一屏屏幕画面,完成屏幕滚动;第五计算单元,用于当所述第一判断单元判断得出所述距离d2不小于所述距离Cl1时,根据所述距离Cl1计算在所述默认减速度下所述当前屏幕滚动到所述最近一屏屏幕画面所需的时间h; 第六计算单元,用于在所述第五计算单元计算得出所述时间A后,根据所述默认减速度^计算当滚动速度为O时所述当前屏幕可滚动的距离d3 ; 第二判断单元,用于在所述第六计算单元计算得出所述距离d3之后,判断所述距离d3是否大于所述距离d2 ; 第一处理单元,用于当所述第二判断单元判断得出所述距离d3大于所述距离d2时,使所述终端屏幕输出反弹效果,并滚动到最近一屏屏幕画面,完成屏幕滚动; 第二处理单元,用于当所述第二判断单元判断得出所述距离d3不大于所述距离d2时,将所述距离d3和所述触点消失时所处的位置的坐标相加得到所述当前屏幕的坐标,根据所 述当前屏幕的坐标绘制所述最近一屏屏幕画面,完成屏幕滚动。
11.根据权利要求10所述的装置,其特征在于,所述第一处理单元,具体包括 第一计算子单元,用于根据所述最近一屏屏幕画面滚动到所述当前终端屏幕边界后经过的时间t计算得到时间t2 ; 第二计算子单元,用于根据所述时间t2和所述距离Cl1计算得到反弹距离V ; 第三计算子单元,用于将所述反弹距离X’与所述触点消失时所述当前屏幕的坐标相加得到所述当前屏幕的反弹坐标,根据所述当前终幕的反弹坐标绘制屏幕画面; 重复执行子单元,用于控制循环执行所述第一计算子单元、第二计算子单元、第三计算子单元,直至反弹时间超过I秒。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括 左右绘制模块,用于在所述屏幕画面滚动模块在当前屏幕上绘制所述最近的一屏屏幕画面之后,在缓存中绘制所述当前屏幕画面的左右两个屏幕画面。
全文摘要
本发明公开了一种屏幕滚动的方法和装置,属于触摸屏控制领域。本发明通过获取触点在触摸屏上的初始位置和触点在沿着目标方向移动时的实时位置,根据触点在触摸屏上沿着目标方向移动的距离绘制当前屏幕画面,当触点消失时时,使得当前屏幕自动滚动到最近一屏的屏幕画面,提供了一种屏幕滚动的方法,使得具有触摸屏的终端屏幕实现了屏幕的滚动,并使用户对具有触摸屏的终端的操纵更加方便。
文档编号G06F3/041GK102890612SQ20111020735
公开日2013年1月23日 申请日期2011年7月22日 优先权日2011年7月22日
发明者万鑫 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1