一种移动终端的列表数据的滑动显示方法和装置的制造方法

文档序号:10534311阅读:128来源:国知局
一种移动终端的列表数据的滑动显示方法和装置的制造方法
【专利摘要】本发明实施例提供了一种移动终端的列表数据的滑动显示方法和装置,该方法包括:在列表中显示数据对象;当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;根据所述滑动速度计算所述数据对象的滑动距离;当所述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。本发明实施例动态地调整了在滑动速度较高的情况下的刷新频率,在一次刷新显示时,移动该距离阈值的时间一般比传统基于刷新频率的一次刷新时间长,即动态调整之后的刷新频率比设定的刷新频率要小,可以减少重新绘制整个列表控件的界面的操作。
【专利说明】
一种移动终端的列表数据的滑动显示方法和装置
技术领域
[0001]本发明涉及计算机处理的技术领域,特别是涉及一种移动终端的列表数据的滑动显示方法和一种移动终端的列表数据的滑动显示装置。
【背景技术】
[0002]随着移动通信技术的发展,诸如手机、智能穿戴设备等智能设备越来越普及,给人们在的生活、学习、工作带来了极大的便利。
[0003]在这些智能设备中,由于诸如通讯录等数据比较繁多,经常采用列表控件进行显不O
[0004]由于数据繁多,为了对信息进行查询,查找所需的信息,用户经常对列表控件显示的数据进行滑动。
[0005]在滑动列表控件中信息的过程中,由于需要刷新显示新的数据,因此,需要频繁地重新绘制整个列表控件的界面,CPU(Central Processing Uni t,中央处理器)、GPU(Graphic Processing Unit,图形处理器)频繁地处理界面的重新绘制,导致设备的性能开销很大,滑动流畅度较差,尤其是在快速滑动过程中,性能开销尤为明显。

【发明内容】

[0006]鉴于上述问题,为了解决上述列表控件刷新显示数据性能开销大的问题,本发明实施例提出了一种移动终端的列表数据的滑动显示方法和相应的一种移动终端的列表数据的滑动显示装置。
[0007]为了解决上述问题,本发明实施例公开了一种移动终端的列表数据的滑动显示方法,包括:
[0008]在列表中显示数据对象;
[0009]当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0010]根据所述滑动速度计算所述数据对象的滑动距离;
[0011]当所述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。
[0012]优选地,所述在列表中显示数据对象的步骤包括:
[0013]查找数据对象;
[0014]在列表控件中加载所述数据对象;
[0015]显示位于显示区域的数据对象。
[0016]优选地,所述列表滑动操作包括滑动手势操作,所述滑动速度包括初始滑动速度;
[0017]所述计算所述数据对象的滑动速度的步骤包括:
[0018]检测所述滑动手势操作的手势滑动时间和手势滑动距离;
[0019]以所述手势滑动距离与所述手势滑动时间之间的比值,作为初始滑动速度。
[0020]优选地,所述滑动速度包括初始滑动速度和目标滑动速度;[0021 ]所述计算所述数据对象的滑动速度的步骤包括:
[0022]对所述初始滑动速度进行衰减,获得目标滑动速度。
[0023]优选地,所述根据所述滑动距离对所述数据对象进行刷新显示的步骤包括:
[0024]当所述滑动距离超过指定的距离阈值时,按照所述滑动距离移动所述数据对象;
[0025]显示移动之后、位于显示区域的数据对象。
[0026]优选地,所述根据所述滑动距离对所述数据对象进行刷新显示的步骤还包括:
[0027]查询所述数据对象在显示时的高度或宽度;
[0028]按照所述高度或宽度计算距离阈值。
[0029]优选地,还包括:
[0030]当所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。
[0031]优选地,所述根据预设的刷新速率对所述数据对象进行刷新显示的步骤包括:
[0032]当距离上一次刷新显示的时间超过指定的时间阈值时,按照所述滑动距离移动所述数据对象;
[0033]显示移动之后、位于显示区域的数据对象。
[0034]本发明实施例还公开了一种移动终端的列表数据的滑动显示装置,包括:
[0035]数据对象显示模块,用于在列表中显示数据对象;
[0036]滑动速度计算模块,用于当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0037]滑动距离计算模块,用于根据所述滑动速度计算所述数据对象的滑动距离;
[0038]高速刷新显示模块,用于在述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。
[0039]优选地,所述数据对象显示模块包括:
[0040]数据对象查找子模块,用于查找数据对象;
[0041]数据对象加载子模块,用于在列表控件中加载所述数据对象;
[0042]第一显示子模块,用于显示位于显示区域的数据对象。
[0043]优选地,所述列表滑动操作包括滑动手势操作,所述滑动速度包括初始滑动速度;
[0044]所述滑动速度计算模块包括:
[0045]滑动手势数据检测子模块,用于检测所述滑动手势操作的手势滑动时间和手势滑动距离;
[0046]初始滑动速度计算子模块,用于以所述手势滑动距离与所述手势滑动时间之间的比值,作为初始滑动速度。
[0047]优选地,所述滑动速度包括初始滑动速度和目标滑动速度;
[0048]所述滑动速度计算模块包括:
[0049]目标滑动速度计算子模块,用于对所述初始滑动速度进行衰减,获得目标滑动速度。
[0050]优选地,所述高速刷新显示模块包括:
[0051]第一移动子模块,用于在所述滑动距离超过指定的距离阈值时,按照所述滑动距离移动所述数据对象;
[0052]第二显示子模块,用于显示移动之后、位于显示区域的数据对象。
[0053]优选地,所述高速刷新显示模块还包括:
[0054]长宽查询子模块,用于查询所述数据对象在显示时的高度或宽度;
[0055]距离阈值计算子模块,用于按照所述高度或宽度计算距离阈值。
[0056]优选地,还包括:
[0057]低速刷新显示模块,用于在所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。
[0058]优选地,所述低速刷新显示模块包括:
[0059]第二移动子模块,用于在距离上一次刷新显示的时间超过指定的时间阈值时,按照所述滑动距离移动所述数据对象;
[0060]第三显示子模块,用于显示移动之后、位于显示区域的数据对象。
[0061]本发明实施例包括以下优点:
[0062]本发明实施例对刷新的流程进行修改,对滑动速度的大小进行检测,若滑动速度大于预设的第一速度阈值,根据滑动距离对数据对象进行刷新显示,动态地调整了在滑动速度较高的情况下的刷新频率,在一次刷新显示时,移动该距离阈值的时间一般比传统基于刷新频率的一次刷新时间长,即动态调整之后的刷新频率比设定的刷新频率要小,可以减少重新绘制整个列表控件的界面的操作,对于Andorid系统而言,可以减少对TextView进行测量(measure )、布局(layout )、绘制(draw)等操作频次,减少设备的CPU、GPU等性能开销。
【附图说明】
[0063]图1是本发明的一种移动终端的列表数据的滑动显示方法实施例1的步骤流程图;
[0064]图2A-图2C是本发明实施例的一种在列表控件显示数据对象的示例图;
[0065]图3是本发明的一种移动终端的列表数据的滑动显示方法实施例2的步骤流程图;
[0066]图4是本发明的一种移动终端的列表数据的滑动显示装置实施例1的结构框图;
[0067]图5是本发明的一种移动终端的列表数据的滑动显示装置实施例2的结构框图。
【具体实施方式】
[0068]为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0069]参照图1,示出了本发明的一种列移动终端的表数据的滑动显示方法实施例1的步骤流程图,具体可以包括如下步骤:
[0070]步骤101,在列表中显示数据对象;
[0071]需要说明的是,本发明实施例可以应用具有显示屏的电子设备中,可以包括手机、平板电脑、个人数字助理、穿戴设备(如眼镜、手表等)等移动终端,也可以包括电视、个人电脑等固定设备。
[0072]这些电子设备的操作系统可以包括Android(安卓)、10S、Windows Phone、Windows等等。
[0073]为使本领域技术人员更好地理解本发明实施例,在本说明书中,将Android作为操作系统的一种示例进行说明。
[0074]在本发明实施例中,可以以列表的形式显示数据对象。
[0075]在本发明的一个实施例中,步骤101可以包括如下子步骤:
[0076]子步骤SII,查找数据对象;
[0077]在本发明实施例中,数据对象可以指一个或多个数据的集合,具体可以是文本信息,也可以是图像信息,还可以是控件(如按键button)等等,本发明实施例对此不加以限制。
[0078]此外,数据对象,可以是从电子设备本地提取的,例如,读取通讯录中的联系人数据、通话记录,读取数据库中存储的歌曲数据等等,也可以是向服务器请求的,例如,从服务器请求某个餐馆的餐单数据,向服务器请求邮件数据等等,本发明实施例对此也不加以限制。
[0079 ]子步骤S12,在列表控件中加载所述数据对象;
[0080 ]列表控件,指以列表形式加载信息的控件,例如,在Andro i d系统中,该列表控件为ListView0
[0081 ] ListView控件作为一个可以显示图标或者子项的列表控件,View属性是其重要属性之一,该属性决定了以哪种视图模式显示控件的项,这四种视图模式分别如下:
[0082 ] 1、Lar 11 con:大图标视图模式,在项的文本旁显示大的图标,在控件宽度足够的情况下,项是如图1中的盘符一样优先以平行排列的,排列不完的则自动换行显示在新行中。
[0083 ] 2、Sma 111 con:小图标视图模式,与大图标模式一样,但是显示的是小的图标。
[0084]3,List:列表视图模式,显示小图标,项一般单列、垂直排列的。
[0085]4、Detai Is:详细资料视图模式,是最丰富的选项,可以允许查看项,还允许查看为各项指定的任何子项。
[0086]各项在网格中显示,它们垂直排列且其子项会显示在列中(带有列标头)。
[0087]子步骤S13,显示位于显示区域的数据对象。
[0088]在本发明实施例中,显示区域可以指在显示屏进行显示的区域,该区域可以为与屏幕大小相等,也可以为小于屏幕大小。
[0089]由于显示区域的面积有限,一般不能一次性显示所有的数据对象,因此,通常显示一部分数据对象,另一部分数据对象可能已加载,在滑动时进行显示。
[°09°] 例如,如图2A所示,在列表控件(如Li s tVi ew)中加载了六个数据对象(Ob ject,01^),分别为01^1、01^2、01^3、01^4、01^5和01^6,黑色框部分为显示区域,显示Ob j 1、01^2、01^3和01^4,未显示01^5和01^6。
[0091 ] 在Android系统中,ListView里面的每个子项Item可以是一个字符串,也可以是一个组合控件。
[0092]在实现时,使用一维或多维动态数组保存ListView要显示的数据对象。
[0093]同时构建适配器,简单地来说,适配器就是Item数组,动态数组与Item数组是一一对应的关系,动态数组有多少元素就生成多少个Item。
[0094]把适配器添加到ListView,并显示出来。
[°°95] 对界面进行显示的过程,以Android系统为例,实际上是从最外层的ViewGroup开始,针对每个V i ew进行遍历测量(measure)、布局(lay out)、绘制(draw)的过程。
[0096]其中,测量(measure)主要用来决定控件View的大小,整个View树计算实际的大小,即设置实际的高(对应属性:mMeasuredHe ight)和宽(对应属性:mMeasureffidth),每个View的控件的实际宽高都是由父视图和本身视图决定的。
[0097]具体的调用链如下:
[0098]ViewRoot根对象地属性mView(其类型一般为ViewGroup类型)调用measure ()方法去计算View树的大小,回调View/ViewGroup对象的onMeasure()方法,该方法实现的功能如下:
[0099]1、设置本\^6¥视图的最终大小,该功能的实现通过调用86丨1638虹6(10;[1116118;[011()方法去设置实际的高(对应属性:mMeasuredHeight)和宽(对应属性:mMeasureffidth);
[0100]2、如果该View对象是个ViewGroup类型,需要重写该onMeasure O方法,对其子视图进行遍历的measure ()过程。
[0101 ] 2.1对每个子视图的measure ()过程,是通过调用父类ViewGroup.java类里的measureChi IdWithMargins O方法去实现,由于measureChi IdWithMargins O 方法只是一个过渡层更简单的做法是直接调用View对象的measureO方法,因此,该方法内部只是简单地调用了 View对象的measure O方法。
[0102]布局(layout)主要确定控件View的位置,将整个根据子视图的大小以及布局参数将View树放到合适的位置上。
[0103]具体的调用链如下:
[0104]host.layout ()开始V i ew树的布局,继而回调给 V i ew/Vi ewGr oup 类中的 I ay out ()方法。具体流程如下:
[0?05] 1、layout方法会设置该View视图位于父视图的坐标轴,即mLeft,mTop,mLeft,mBottom(调用setFrameO函数去实现);
[0?0?] 接下来回调onLayout O方法(如果该View是ViewGroup对象,需要实现该方法,对每个子视图进行布局)。
[0?07] 2、如果该View是个ViewGroup类型,需要遍历每个子视图childView,调用该子视图的layout ()方法去设置它的坐标值。
[0108]绘制(draw)主要决定控件View的显示。
[0109]由ViewRoot对象的performTraversals()方法调用draw()方法发起绘制该View树,值得注意的是每次发起绘图时,并不会重新绘制每个View树的视图,而重新绘制那些“需要重绘”的视图,View类内部变量包含了一个标志位DRAWN,当该视图需要重绘时,就会为该V i e w添加该标志位。
[0110]调用流程如下:
[0?11 ] mView.draw()开始绘Φ1」,draw()方法实现的功能如下:
[ΟΙ12] 1、绘制该View的背景;
[0113]2、为显示渐变框做一些准备操作;
[0114]3、调用onDrawO方法绘制视图本身(每个View都需要重载该方法,ViewGroup不需要实现该方法);
[0115]4、调用dispatchDraw()方法绘制子视图(如果该View类型不为ViewGroup,即不包含子视图,不需要重载该方法);
[0116]需要说明的是,ViewGroup类已经为重写了 dispatchDrawO的功能实现,应用程序一般不需要重写该方法,但可以重载父类函数实现具体的功能。
[ΟΙ17] 4.1dispatchDrawO方法内部会遍历每个子视图,调用drawChildO去重新回调每个子视图的drawO方法(注意,这个地方“需要重绘”的视图才会调用drawO方法)。
[ΟΙ18] 需要说明的是,ViewGroup类已经重写了dispatchDraw()的功能实现,应用程序一般不需要重写该方法,但可以重载父类函数实现具体的功能。
[0119]5、绘制滚动条。
[0120]如图2B所示,若读取通话记录作为数据对象,则可以以列表的方式进行展示,如电话号码、电话号码所属地、通话时间、通话时长等等。
[0121]步骤102,当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0122]在本发明实施例中,列表滑动操作,可以用于指示对列表控件中加载的数据对象进行滑动,以显示其他数据对象。
[0123]在一个示例中,该列表滑动操作包括滑动手势操作,即用户在显示屏等触摸装置中进行滑动,按照滑动的方向移动列表控件中加载的数据对象。
[0124]在另一个示例中,该列表滑动操作包括设备倾斜操作,即用户倾斜电子设备,按照倾斜的方向移动列表控件中加载的数据对象。
[0125]在另一个示例中,该列表滑动操作包括按键操作,即用户按下电子设备的按键,如音量键,按照预先约定的、按键与滑动方向的映射关系,移动列表控件中加载的数据对象。
[0126]当然,上述列表滑动操作只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他列表滑动操作,本发明实施例对此不加以限制。另外,除了上述列表滑动操作夕卜,本领域技术人员还可以根据实际需要采用其它列表滑动操作,本发明实施例对此也不加以限制。
[0127]若检测到列表滑动操作,则可以按照列表滑动操作对数据对象配置滑动速度,SP沿某一方向(如显示屏的Y轴)进行移动的速度。
[0128]在具体实现中,该滑动速度可以包括初始滑动速度和目标滑动速度;
[0129]其中,初始滑动速度可以为按照列表滑动操作的属性所赋予的速度;
[0130]目标滑动速度可以为对初始滑动速度进行处理之后的速度。
[0131]以滑动手势操作作为列表滑动操作的一个示例,可以检测滑动手势操作的手势滑动时间和手势滑动距离;以手势滑动距离与手势滑动时间之间的比值,作为初始滑动速度。
[0132]在本发明实施例中,手势滑动时间可以指滑动手势操作所持续的时间;
[0133]手势滑动距离可以指滑动手势操作中手势轨迹的距离,可以是总的距离,也可以是在某个方向(如显示屏的Y轴)的距离,本发明实施例对此不加以限制。
[0134]以在触摸屏上进行滑动手势操作为例,触摸屏通常由触摸检测部件和触摸屏控制器组成,触摸检测部件安装在显示器屏幕前面,触摸检测部件可以检测用户的滑动手势操作所触发的触摸事件,接收后传送给触摸屏控制器。
[0135]其中,触摸事件可以包括如下的一种或多种;
[0136]按下事件(Down),表示在触摸屏按下未移动、未抬起;
[0137]移动事件(Move),表示在触摸屏按下后开始移动(或滑行);
[0138]抬起事件(Up),表示在触摸屏抬起。
[0139]而触摸屏控制器可以将该触摸信号转换成轨迹点坐标(例如直角坐标系,S卩X坐标和Y坐标)。
[0140]手势滑动时间为按下事件(Down)的时间与抬起事件(Up)的时间之间的时间差,手势滑动距离可以为一系列轨迹点坐标所组成的轨迹的距离,也可以为按下事件(Down)的轨迹点坐标与抬起事件(Up)的轨迹点坐标之间在某个方向(如显示屏的Y轴)的距离。
[OH1]假设,用户手指按下(Down)的时间为ti,手指抬起(Up)的时间为t2,按下(Down)与抬起(Up)之间的距离为S,则初始滑动速度VQ为:
[0142]vo = s/ (t2~ti)
[0143]当然,上述初始滑动速度的计算方式只是作为示例,在实施本发明实施例时,可以根据实际情况设置其他初始滑动速度的计算方式,例如,对于设备倾斜操作,按照倾斜角度计算初始滑动速度,对于按键操作,若是单击,则可以直接赋予默认的、较低的初始滑动速度,若是长按,则可以直接赋予默认的、较高的初始滑动速度,等等,本发明实施例对此不加以限制。另外,除了上述初始滑动速度的计算方式外,本领域技术人员还可以根据实际需要采用其它初始滑动速度的计算方式,本发明实施例对此也不加以限制。
[0144]列表控件(如ListView)加载的数据对象在滑动过程中,模拟阻尼运动,对初始滑动速度进行衰减,获得目标滑动速度。
[0145]阻尼运动,可以指在滑动过程中受到阻力的作用,滑动速度逐渐减小,直至滑动停止。
[0146]假设在阻尼运动中,加速度为a,经过滑动时间Δt,那么,目标滑动速度Vt为:
[0147]vt = vo-a* Δ t
[0148]需要说明的是,当前的目标滑动速度Vt未衰减至0,即滑动未停止,若此时检测到列表滑动操作,该列表滑动操作赋予的初始滑动速度为vo’,一种情况中,最终的初始滑动速度V。可以忽略目标滑动速度vt,即VQ=VQ’,另一种情况中,最终的初始滑动速度VO可以叠加目标滑动速度Vt,即VQ=VQ ’ +V t,本发明实施例对此不加以限制。
[0149]步骤103,根据所述滑动速度计算所述数据对象的滑动距离;
[0150]在本发明实施例中,由于数据对象可能采用不同的滑动方式,如阻尼运动、匀速运动等,因此,可以按照该滑动方式计算数据对象的滑动距离。
[0151]以阻尼运动为例,可以通过如下公式计算滑动距离s:
[0152]s = vot-l/2at2
[0153]或者,
[0154]s = l/2(vo+vt)
[0155]其中,VO为初始滑动速度,目标滑动速度Vt,a为加速度,t为滑动时间。
[0156]步骤104,当所述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。
[0157]应用本发明实施例,可以预先设置表征速度较大的第一速度阈值。
[0158]在列表滑动操作所赋值的初始滑动速度等情况下,数据对象的滑动速度可能大于该第一速度阈值,则表示该数据对象的滑动速度较大,则可以基于滑动距离对数据对象进行刷新显示。
[0159]在具体实现中,当滑动距离超过指定的距离阈值时,按照滑动距离移动数据对象,显示移动之后、位于显示区域的数据对象。
[Ο??Ο] 例如,如图2C所示,在列表控件(如ListView)中加载了六个数据对象(Ob ject,01^),分别为01^1、01^2、01^3、01^4、01^5和01^6,黑色框部分为显示区域,向上滑动,在滑动距离超过一定的距离阈值时,Objl部分移出显示区域,0bj5部分移入显示区域,即同时显示 01^1、01^2、01^3、01^4和01^5,未显示01^6。
[0161]由于在滑动距离大于或等于一个给定的距离阈值时,触发一次刷新操作。
[0162]可以看到,第一速度阈值越大,到达距离阈值的时间越短,刷新就会越频繁,第一速度阈值越小,到达距离阈值的时间越长,刷新就会越稀松,刷新频繁导致CPU、GPU等系统资源负载大,刷新稀松导致界面滑动不流畅。
[0163]因此,第一速度阈值一般小于距离阈值除以刷新时间(如刷新频率60fPs的刷新时间为16ms)所获得的值,并且,其可以保证用户的滑动操作体验。
[0164]在本发明实施例的一个示例中,可以查询数据对象在显示时的高度或宽度,按照该高度或宽度计算距离阈值,例如,高度或宽度与距离阈值成正比。
[0165]一般ListView中每个Obj都是具有相同的高度或宽度,每个Obj包含相同的子布局元素,比如IistView中每个Item的分割线等在这种情况下,Obj的高度或宽度与距离阈值相等,在滑动过程中,保证上下/左右两个Item在滑动中发生重合的时候,进行刷新,由于用户界面刷新的时候改变的部分最小化,对用户视觉冲击小,可以从视觉体验上提升滑动流畅性。
[0166]例如,向上滑动进行刷新时,下一个Item移动到上一个Item的位置,Item中相同的元素位置刚好重叠,这时进行刷新操作对用户来说界面变动有何,向上滑动的视觉体验较好。
[0167]又例如,向下滑动进行刷新时,上一个Item移动到下一个Item的位置,Item中相同的元素位置刚好重叠,这时进行刷新操作对用户来说界面变动有何,向下滑动的视觉体验较好。
[0168]本发明实施例依据数据对象在显示时的高度或宽度计算距离阈值,使得在刷新时减少用户界面改变的部分的数量,减少对用户视觉的冲击,提高了滑动的流畅性。
[0169]其中,在Android系统中,可以通过读取layout_height参数识别高度,读取layout_width参数识别宽度。
[0170]若数据对象沿显示屏Y轴方向滑动,则可以依据数据对象在显示时的高度计算距离阈值。
[0171]若数据对象沿显示屏X轴方向滑动,则可以依据数据对象在显示时的宽度计算距离阈值。
[0172]本发明实施例在列表控件中显示数据对象,当检测到针对数据对象的列表滑动操作时,计算数据对象的滑动速度,并根据滑动速度计算数据对象的滑动距离。
[0173]传统的方式依然是按照一定的刷新频率进行刷新显示。
[0174]刷新频率一般为60fps,也就是每间隔16ms刷新显示数据对象改变位置后的界面,需要繁地重新绘制整个列表控件的界面。
[0175]对于Android系统而言,需要频繁地对TextView进行测量(measure )、布局(layout)、绘制(draw)等操作,导致设备的CPU、GPU等性能开销很大。
[0176]本发明实施例对刷新的流程进行修改,对滑动速度的大小进行检测,若滑动速度大于预设的第一速度阈值,根据滑动距离对数据对象进行刷新显示,动态地调整了在滑动速度较高的情况下的刷新频率,在一次刷新显示时,一般人眼对于移动了很短距离的事物,并不会在视觉上产生明显的感觉,避免产生了卡顿,从用户体验的角度保证了滑动流畅性。
[0177]同时,移动该距离阈值的时间一般比传统基于刷新频率的一次刷新时间长,即动态调整之后的刷新频率比设定的刷新频率要小,可以减少重新绘制整个列表控件的界面的操作,对于Andorid系统而言,可以减少对TextView进行测量(measure )、布局(layout )、绘制(draw)等操作频次,减少设备的CPU、GPU等性能开销。
[0178]参照图3,示出了本发明的一种移动终端的列表数据的滑动显示方法实施例2的步骤流程图,具体可以包括如下步骤:
[0179]步骤301,在列表中显示数据对象;
[0180]步骤302,当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0181]步骤303,根据所述滑动速度计算所述数据对象的滑动距离;
[0182]步骤304,当所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。
[0183]应用本发明实施例,可以预先设置表征速度较小的第二速度阈值,其中,第二速度阈值小于第一速度阈值。
[0184]在阻尼运动等情况下,数据对象的滑动速度逐渐减少,若数据对象的滑动速度可能小于该第二速度阈值,则表示该数据对象的滑动速度较效,则可以按照预设的刷新频率对数据对象进行刷新显示。
[0185]在具体实现中,当距离上一次刷新显示的时间超过指定的时间阈值时,按照滑动距离移动数据对象,显示移动之后、位于显示区域的数据对象。
[0186]在本发明实施例中,对刷新的流程进行修改,对滑动速度的大小进行检测,若滑动速度小于预设的第二速度阈值,根据预设的刷新频率对数据对象进行刷新显示,,保证不会在视觉上产生产生卡顿,从用户体验的角度保证了滑动流畅性。
[0187]需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
[0188]参照图4,示出了本发明的一种移动终端的列表数据的滑动显示装置实施例1的结构框图,具体可以包括如下模块:
[0189]数据对象显示模块401,用于在列表中显示数据对象;
[0190]滑动速度计算模块402,用于当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0191 ]滑动距离计算模块403,用于根据所述滑动速度计算所述数据对象的滑动距离;
[0192]高速刷新显示模块404,用于在述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。
[0193]在本发明的一个实施例中,所述数据对象显示模块401可以包括如下子模块:
[0194]数据对象查找子模块,用于查找数据对象;
[0195]数据对象加载子模块,用于在列表控件中加载所述数据对象;
[0196]第一显示子模块,用于显示位于显示区域的数据对象。
[0197]在本发明的一个实施例中,所述列表滑动操作包括滑动手势操作,所述滑动速度包括初始滑动速度;
[0198]所述滑动速度计算模块402可以包括如下子模块:
[0199]滑动手势数据检测子模块,用于检测所述滑动手势操作的手势滑动时间和手势滑动距离;
[0200]初始滑动速度计算子模块,用于以所述手势滑动距离与所述手势滑动时间之间的比值,作为初始滑动速度。
[0201 ]在本发明的一个实施例中,所述滑动速度包括初始滑动速度和目标滑动速度;
[0202]所述滑动速度计算模块402可以包括如下子模块:
[0203]目标滑动速度计算子模块,用于对所述初始滑动速度进行衰减,获得目标滑动速度。
[0204]在本发明的一个实施例中,所述高速刷新显示模块404可以包括如下子模块:
[0205]第一移动子模块,用于在所述滑动距离超过指定的距离阈值时,按照所述滑动距离移动所述数据对象;
[0206]第二显示子模块,用于显示移动之后、位于显示区域的数据对象。
[0207]在本发明的一个实施例中,所述高速刷新显示模块404还可以包括如下子模块:
[0208]长宽查询子模块,用于查询所述数据对象在显示时的高度或宽度;
[0209]距离阈值计算子模块,用于按照所述高度或宽度计算距离阈值。
[0210]参照图5,示出了本发明的一种移动终端的列表数据的滑动显示装置实施例2的结构框图,具体可以包括如下模块:
[0211]数据对象显示模块501,用于在列表中显示数据对象;
[0212]滑动速度计算模块502,用于当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度;
[0213]滑动距离计算模块503,用于根据所述滑动速度计算所述数据对象的滑动距离;
[0214]低速刷新显示模块504,用于在所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。
[0215]在本发明的一个实施例中,所述低速刷新显示模块504可以包括如下子模块:
[0216]第二移动子模块,用于在距离上一次刷新显示的时间超过指定的时间阈值时,按照所述滑动距离移动所述数据对象;
[0217]第三显示子模块,用于显示移动之后、位于显示区域的数据对象。
[0218]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0219]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
[0220]本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0221]本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0222]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0223]这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0224]尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
[0225]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
[0226]以上对本发明所提供的一种移动终端的列表数据的滑动显示方法和一种移动终端的列表数据的滑动显示装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【主权项】
1.一种移动终端的列表数据的滑动显示方法,其特征在于,包括: 在列表中显示数据对象; 当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度; 根据所述滑动速度计算所述数据对象的滑动距离; 当所述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。2.根据权利要求1所述的方法,其特征在于,所述在列表中显示数据对象的步骤包括: 查找数据对象; 在列表控件中加载所述数据对象; 显示位于显示区域的数据对象。3.根据权利要求1所述的方法,其特征在于,所述列表滑动操作包括滑动手势操作,所述滑动速度包括初始滑动速度; 所述计算所述数据对象的滑动速度的步骤包括: 检测所述滑动手势操作的手势滑动时间和手势滑动距离; 以所述手势滑动距离与所述手势滑动时间之间的比值,作为初始滑动速度。4.根据权利要求1或3所述的方法,其特征在于,所述滑动速度包括初始滑动速度和目标滑动速度; 所述计算所述数据对象的滑动速度的步骤包括: 对所述初始滑动速度进行衰减,获得目标滑动速度。5.根据权利要求1或2或3所述的方法,其特征在于,所述根据所述滑动距离对所述数据对象进行刷新显示的步骤包括: 当所述滑动距离超过指定的距离阈值时,按照所述滑动距离移动所述数据对象; 显示移动之后、位于显示区域的数据对象。6.根据权利要求5所述的方法,其特征在于,所述根据所述滑动距离对所述数据对象进行刷新显示的步骤还包括: 查询所述数据对象在显示时的高度或宽度; 按照所述高度或宽度计算距离阈值。7.根据权利要求1或2或3或6所述的方法,其特征在于,还包括: 当所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。8.根据权利要求7所述的方法,其特征在于,所述根据预设的刷新速率对所述数据对象进行刷新显示的步骤包括: 当距离上一次刷新显示的时间超过指定的时间阈值时,按照所述滑动距离移动所述数据对象; 显示移动之后、位于显示区域的数据对象。9.一种移动终端的列表数据的滑动显示装置,其特征在于,包括: 数据对象显示模块,用于在列表中显示数据对象; 滑动速度计算模块,用于当检测到针对所述数据对象的列表滑动操作时,计算所述数据对象的滑动速度; 滑动距离计算模块,用于根据所述滑动速度计算所述数据对象的滑动距离; 高速刷新显示模块,用于在述滑动速度大于预设的第一速度阈值时,根据所述滑动距离对所述数据对象进行刷新显示。10.根据权利要求9述的装置,其特征在于,还包括: 低速刷新显示模块,用于在所述滑动速度小于预设的第二速度阈值时,根据预设的刷新速率对所述数据对象进行刷新显示。
【文档编号】G06F3/0482GK105892831SQ201610286084
【公开日】2016年8月24日
【申请日】2016年4月29日
【发明人】张强, 周玮, 朱众微
【申请人】青岛海信移动通信技术股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1