实现触摸屏幕可拖动弹性界面的方法
【专利摘要】本发明涉及触摸屏,特别涉及触摸屏实现弹性界面的方法,目的是为了提供一种可拖动弹性界面的实现方法。窗体移动距离与手指滑动距离的比例系数C的数值,如果子窗体需要在父窗体里面滚动显示,则当子窗体最顶端可见时,用户向下滑动界面,监听子界面的触摸事件,此时记录下用户手指按下时的坐标StartPoint(x,y);当手指滑动时,记录手指滑动到界面的位置EndPoint(x,y),此时deltaX=EndPoint.x-StartPoint.x;deltaY=EndPoint.y-StartPoint.y;如果deltaY/deltaX<=1则不进行操作,否则,计算出窗体移动距离MoveY=deltaY*C,然后绘制子窗体使其距离起始位置移为MoveY;当用户松开手指时,首先向窗体起始位置移动MoveY/3个,然后更新MoveY为当前窗体位置离起始位置的距离,再向起始位置移动MoveY/3个,重复该步骤,直到子窗体移动到起始位置。本发明适用于触摸屏。
【专利说明】实现触摸屏幕可拖动弹性界面的方法
【技术领域】
[0001] 本发明涉及触摸屏,特别涉及触摸屏实现弹性界面的方法。
【背景技术】
[0002] 随着手机平板等硬件技术的不断提升,用户体验越来越好,触摸屏在智能终端上 是应用越来越广泛。在软件层面也需要不断创新,以满足用户不断变化的需求,从用户体验 的角度来说,当用户操作软件的时候,界面上的变化需要给予及时的反馈,让用户感觉到是 在和软件"沟通",目前还没有一种可以实现触摸屏可拖动弹性界面的方法。
【发明内容】
[0003] 用户在滑动界面时,当滑动到顶部或者底部时还可以继续滑动一段距离,松开手 指后界面滚动到原来位置,针对上述行为,本发明设计一种实现触摸屏幕可拖动弹性界面 的方法,更新上述操作的各个阶段的界面显示,使界面在操作过程中具有弹动效果,该方法 的具体步骤如下:
[0004] A.设定窗体移动距离与手指滑动距离的比例系数C,当用户在子窗体上开始向下 滑动,记录用户滑动时的起始位置为StartPoint(x, y);
[0005] B.当用户手指在屏幕上面滑动时,记录当前手指的坐标EndPoint (x,y),并且 有 deltaX = EndPoint. x - StartPoint. x ;deltaY = EndPoint. y - StartPoint. y, 如 果deltaY/deltaX〈 = 1则不进行操作,否则进入步骤C,EndPoint. x为当前手指的横 坐标,StartPoint. X为手指滑动起始位置的横坐标,EndPoint. y为当前手指的纵坐标, StartPoint. X为手指滑动起始位置的纵坐标,deltaX为当前手指的横坐标与手指滑动起 始位置的横坐标之差,deltaY为当前手指的纵坐标与手指滑动起始位置的纵坐标之差;
[0006] C.计算出子窗体移动距离MoveY = deltaY*C,绘制子窗体距离起始位置移动 MoveY,如果用户继续滑动手指,则进入步骤B,如果用户松开手指,则执行步骤D ;
[0007] D.向窗体起始位置移动MoveY/3个,然后更新MoveY为当前窗体位置离起始位置 的距离。
[0008] 具体地,步骤A中,当子窗体在父窗体中可滚动显示时,如果子窗体底部不可见, 则滑动界面使子窗体底部可见,窗体移动距离与手指滑动距离的比例系数C为0. 4。步骤B 中deltaX及deltaY取计算值的绝对值。步骤D中当MoveY〈10时,移动窗体到起始位置。
[0009] 本发明的有益效果是:丰富了用户的操作体验,用户在滑动界面时给予及时响应, 让用户感觉到软件界面更加有活力,给予用户更加友好的体验效果。
【具体实施方式】
[0010] 下面结合实施例对本发明的技术方案作进一步描述,实施例仅仅是为了方便读者 更好地理解本发明的技术方案,并不用以限制本发明权利要求的保护范围。
[0011] 本发明提供一种实现触摸屏幕可拖动弹性界面的方法,具体如下:
[0012] 规定窗体移动距离与手指滑动距离的比例系数C的数值,如果子窗体需要在父 窗体里面滚动显示,则当子窗体最顶端可见时,用户向下滑动界面,监听子界面的触摸事 件,此时记录下用户手指按下时的坐标StartPoint(x, y);当手指滑动时,记录手指滑动 到界面的位置 EndPoint (X, y),此时 deltaX = EndPoint. X - StartPoint. X ;deltaY = EndPoint. y - StartPoint. y ;如果deltaY/deltaX〈 = 1则不进行操作,否则,计算出窗体移 动距离MoveY = deltaY*C,然后绘制子窗体使其距离起始位置移为MoveY ;当用户松开手指 时,首先向窗体起始位置移动MoveY/3个,然后更新MoveY为当前窗体位置离起始位置的距 离,再向起始位置移动MoveY/3个,重复该步骤,直到子窗体移动到起始位置,如果最后一 次移动后窗体距离起始位置M 〇VeY〈10,那么接着直接移动窗体到起始位置。
[0013] 实施例
[0014] 下面以一实例对本发明的方案进行详细描述。
[0015] 步骤一、设定窗体移动距离与手指滑动距离的比例系数C为0. 4,如果子窗体顶部 不可见,则滑动界面使子窗体顶部可见,记录用户滑动时的起始位置为StartPoint (X,y);
[0016] 步骤二、当用户手指在屏幕上面滑动时,记录当前手指的坐标EndPoint (x, y), 并且有 deltaX = EndPoint. x - StartPoint. x ;deltaY = EndPoint. y - StartPoint. y, 如果deltaY/deltaX〈 = 1则不进行操作,否则进入步骤C,EndPoint. x为当前手指的横 坐标,StartPoint. X为手指滑动起始位置的横坐标,EndPoint. y为当前手指的纵坐标, StartPoint. X为手指滑动起始位置的纵坐标,deltaX为当前手指的横坐标与手指滑动起 始位置的横坐标之差,deltaY为当前手指的纵坐标与手指滑动起始位置的纵坐标之差, deltaX及del taY取计算值的绝对值;
[0017] 步骤三、计算出子窗体移动距离MoveY = deltaY*C,绘制子窗体距离起始位置移 动MoveY,如果用户继续滑动手指,则进入步骤B,如果用户松开手指,则执行步骤D ;
[0018] 步骤四、向窗体起始位置移动MoveY/3个,然后更新MoveY为当前窗体位置离起始 位置的距离。
【权利要求】
1. 实现触摸屏幕可拖动弹性界面的方法,其特征在于,包括如下步骤: A. 设定窗体移动距离与手指滑动距离的比例系数C,当用户在子窗体上开始向下滑 动,记录用户滑动时的起始位置为StartPoint(x,y); B. 当用户手指在屏幕上面滑动时,记录当前手指的坐标EndPoint (x,y),并且有 deltaX = EndPoint. x - StartPoint. x ;deltaY = EndPoint. y - StartPoint. y,如 果 deltaY/deltaX〈 = 1则不进行操作,否则进入步骤C,EndPoint. x为当前手指的横坐 标,StartPoint. X为手指滑动起始位置的横坐标,EndPoint. y为当前手指的纵坐标, StartPoint. X为手指滑动起始位置的纵坐标,deltaX为当前手指的横坐标与手指滑动起 始位置的横坐标之差,deltaY为当前手指的纵坐标与手指滑动起始位置的纵坐标之差; C. 计算出子窗体移动距离MoveY = deltaY*C,绘制子窗体距离起始位置移动MoveY,如 果用户继续滑动手指,则进入步骤B,如果用户松开手指,则执行步骤D ; D. 向窗体起始位置移动MoveY/3个,然后更新MoveY为当前窗体位置离起始位置的距 离。
2. 如权利要求1所述的实现触摸屏幕可拖动弹性界面的方法,其特征在于,步骤B中 deltaX及deltaY取计算值的绝对值。
3. 如权利要求1所述的实现触摸屏幕可拖动弹性界面的方法,其特征在于,步骤A中, 当子窗体在父窗体中可滚动显示时,如果子窗体底部不可见,则滑动界面使子窗体底部可 见。
4. 如权利要求1或2或3所述的实现触摸屏幕可拖动弹性界面的方法,其特征在于,步 骤A中,窗体移动距离与手指滑动距离的比例系数C为0. 4。
5. 如权利要求1所述的实现触摸屏幕可拖动弹性界面的方法,其特征在于,步骤D中当 MoveY〈10时,移动窗体到起始位置。
【文档编号】G06F3/0486GK104216636SQ201410465328
【公开日】2014年12月17日 申请日期:2014年9月12日 优先权日:2014年9月12日
【发明者】罗永江, 程超, 缪洪波, 程仕涛, 李奇, 陈锡林, 龚翔, 刘裕 申请人:四川长虹电器股份有限公司