CN102436369B - 展示数据的方法及装置 - Google Patents
展示数据的方法及装置 Download PDFInfo
- Publication number
- CN102436369B CN102436369B CN201010500402.XA CN201010500402A CN102436369B CN 102436369 B CN102436369 B CN 102436369B CN 201010500402 A CN201010500402 A CN 201010500402A CN 102436369 B CN102436369 B CN 102436369B
- Authority
- CN
- China
- Prior art keywords
- data block
- control
- data
- height
- size
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/0485—Scrolling or panning
- G06F3/04855—Interaction with scrollbars
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
- Controls And Circuits For Display Device (AREA)
Abstract
本发明公开了一种展示数据的方法及装置,属于计算机技术领域。所述方法包括:确定滚动框所处的位置;当确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,所述j为小于或等于数据块个数的正整数。本发明通过根据数据块的大小调整绘制数据块的控件的大小及数量,从而可以节约资源开销,还可减少计算量;另外,由于控件的高度随数据块的大小而进行调整,因而可以支持多样化的数据业务,满足实际的业务需求。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种展示数据的方法及装置。
背景技术
随着互联网的高速发展,互联网的各种应用不断出现,尤其是移动互联网的高速发展,信息的上传和下载日益呈现多元化。越来越多的人获取网络信息资源已经不仅仅限于通过电脑,各种移动终端,上网本等轻便装备的出现,使用户随时随地获取信息成为现实。在通过网络获取越来越多的信息的同时,如何大批量的展示数据,给软件设计者提出了挑战。
现有技术一在展示数据时,每个数据块的展示都采用一个单独的控件,并按照指定的顺序将展示数据的控件插入到容器中,消息数量越多,容器的范围越大;而现有技术二在展示大批量的数据时,则提供一个有限的列表控件,按照一定的规则将要显示的数据块绘制在有限且等高的控件上。
在实现本发明的过程中,发明人发现现有技术至少存在以下缺点:
现有技术一中,由于每个数据块都采用一个单独的控件,则需要缓存大量的控件,导致内存的开销增加,且由于界面显示控件的个数有限,导致资源浪费;现有技术二提供的列表控件需要预先设定控件的高度,且各个控件的高度需要保持一致,导致控件的展示空间有一定的限制,因而无法满足实际的业务需求。
发明内容
为了降低开销,节约资源,同时满足实际的业务需求,本发明实施例提供了一种展示数据的方法及装置。所述技术方案如下:
一方面,提供了一种展示数据的方法,所述方法包括:
确定滚动框所处的位置;
当确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,所述j为小于或等于数据块个数的正整数。
进一步地,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之前,还包括:
确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
判断所述j是否大于所述i;
如果是,则从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
如果否,则执行从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度的步骤。
可选地,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之后,还包括:
在所述多个数据块中增加数据块,调整数据块序号,并重新确定滚动框的高度;
将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
可选地,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之后,还包括:
在所述多个数据块中删除数据块,并判断删除数据块后是否存在滚动框;
如果否,则从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量;
如果是,则调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
进一步地,所述调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之前,还包括:
确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于等于数据块个数的正整数;
判断所述j是否大于所述i;
如果是,则将滚动框置于第i格后,从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
如果否,则执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
另一方面,还提供了一种展示数据的装置,所述装置包括:
第一确定模块,用于确定滚动框所处的位置;
第一展示模块,用于当所述第一确定模块确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,所述j为小于或等于数据块个数的正整数。
进一步地,所述装置,还包括:
第二确定模块,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
第一判断模块,用于判断所述j是否大于所述第二确定模块确定的i;
第二展示模块,用于在所述第一判断模块判断出所述j大于所述第二确定模块确定的i时,从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,所述第一展示模块,用于在所述第一判断模块判断出所述j未大于所述第二确定模块确定的i时,执行从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度的步骤。
可选地,所述装置,还包括:
增加模块,用于在所述多个数据块中增加数据块;
第三展示模块,用于在所述增加模块在所述多个数据块中增加数据块之后,调整数据块序号,并重新确定滚动框的高度;将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
可选地,所述装置,还包括:
删除模块,用于在所述多个数据块中删除数据块;
第二判断模块,用于在所述删除模块在所述多个数据块中删除数据块之后,判断删除数据块后是否存在滚动框;
第四展示模块,用于在所述第二判断模块判断出删除数据块后未存在滚动框时,从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量;
第五展示模块,用于在所述第二判断模块判断出删除数据块后存在滚动框时,调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
进一步地,所述装置,还包括:
第二确定模块,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
第一判断模块,用于判断所述j是否大于所述第二确定模块确定的i;
第六展示模块,用于在所述第一判断模块判断出所述j大于所述第二确定模块确定的i时,将滚动框置于第i格后,从最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,所述第五展示模块,用于在所述第一判断模块判断出所述j未大于所述第二确定模块确定的i时,执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
本发明实施例提供的技术方案的有益效果是:
通过根据数据块的大小调整控件的大小及数量,并使所有绘制了数据块的控件的总高度大于或等于显示界面高度,从而可以节约资源,且由于控件的数量有限,不仅可以降低开销,当显示界面的大小发生变化时,还可减少计算量;另外,由于控件的高度随数据块的大小而进行调整,因而可以支持多样化的数据业务,满足实际的业务需求。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例一提供的展示数据的方法流程图;
图2是本发明实施例二提供的展示数据的方法流程图;
图3是本发明实施例二提供的数据展示示意图;
图4是本发明实施例三提供的第一种展示数据的装置结构示意图;
图5是本发明实施例三提供的第二种展示数据的装置结构示意图;
图6是本发明实施例三提供的第三种展示数据的装置结构示意图;
图7是本发明实施例三提供的第四种展示数据的装置结构示意图;
图8是本发明实施例三提供的第五种展示数据的装置结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
实施例一
参见图1,本实施例提供了一种展示数据的方法,该方法流程具体如下:
101:确定滚动框所处的位置;
102:当确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上;
103:根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,j为小于或等于数据块个数的正整数。
本实施例提供的方法,通过根据数据块的大小调整绘制了数据块的控件的大小及数量,从而可以节约资源,且由于控件的个数有限,还可以降低开销;另外,由于控件的高度随数据块的大小而进行调整,因而可以支持多样化的数据业务,满足实际的业务需求。
实施例二
本实施例提供了一种展示数据的方法,该方法通过创建有限个控件,并在展示数据块时,控件的大小随着数据块的大小而进行调整,从而在节约资源、降低开销的同时,满足实际的业务需求,特别是针对需要展示大批量数据的应用场景。为了便于说明,本实施例以展示数据时出现滚动条的情况为例进行描述,参见图2,本实施例提供的方法流程具体如下:
201:确定滚动框所处的位置;
针对该步骤,确定滚动框所处的位置时,可通过检测滚动操作确定滚动的步长,从而根据上一次滚动框所处的位置确定执行滚动操作之后滚动框应处的位置,还可以采用其他方式,本实施例对此不作具体限定。
其中,滚动框的高度与展示数据块的个数有关,结合图3所示的数据展示示意图,滚动框的高度、滚动条的长度、显示界面的大小与数据块的范围之间的关系可如下面的公式所示:
其中,图3所示的显示页面高度即为显示界面高度,图3所示的宽度即为显示界面宽度,在确定滚动框的高度时,可根据显示界面的大小及数据块大小来确定。以当前数据块的总个数为N(N≥1),从上到下依次记为:1,2,3,…,N,获取当前客户端的显示界面宽度为Xwidth,高度为Yheight为例,确定最小的i(1≤i≤N),使得第i,i+1,i+2,…,n个数据对应的控件的总高度小于Yheight,然后将滚动条分为i份,则滚动框的高度为:Yheight/i。
例如,显示界面高度Yheight为100像素,数据块的总个数为100,第100个数据块的大小为50像素,第99个数据块的大小为20像素,第98个数据块的大小为10像素,第97个数据块的大小为30像素,则从第100个数据块开始算起,由于50+20+10<100,50+20+10+30>100,也就是说,第98个数据块到最后一个数据块对应的控件的总高度小于显示界面高度,而98<99<100,则确定的i为98,滚动条分为98格,滚动框的高度为100/98。当滚动框移动到第98格时,第98至第100个数据块均能显示在显示界面内。
另外,由于本实施例提供的方法创建的控件有限,即仅创建能填充满显示界面的最小数目的控件,则滚动框的滚动不再是移动视图,而是移动数据块,控件的相对位置不变,只是不断的更新其上面显示的数据块。因此,将待展示的数据缓存在内存中,并且可以根据key进行快速索引时,如果当前显示界面最顶端显示的是索引中第k个数据块,那么应将滚动框移动到第k格(k为小于或等于数据块个数的正整数)。
从显示界面上来看,如果现有技术在展示数据时,容器内所有控件的总高度为600像素,滚动框的滚动步长为20像素,则滚动框移动一格即移动了20像素,可能是0.5个控件的高度,也可能是一个控件的高度。但针对本实施例提供的展示数据的方式,滚动框移动的步长设为1,则滚动框每移动一格或者滚轮移动一格,代表移动了一个控件的高度,实际移动多少像素取决于相关数据块的大小。如果滚动条被平均分为M格(M为小于或等于数据块个数的正整数),则用户触发了滚动操作之前,滚动框处于第i格,那么界面显示也是从当前数据队列中第i个数据块开始显示,如果用户向下滚动一格,即滚动框移动到了i+1格,那么显示界面的顶端控件显示的是第i+1个数据块。
202:当确定滚动框处于第j格时,确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度;
具体地,本实施例不对创建的有限个控件的具体个数进行限定,保证创建的所有控件在绘制了数据块后,能填充满整个显示界面即可。本实施例同样不对确定控件个数的方式进行限定。实际应用中,可根据显示界面高度及控件被预设的初始高度确定控件的个数。控件被预设的初始高度可以看作是由用户根据实际情况设置的控件的最小高度,以像素为单位,将最小高度记为ItemHeightmin,还可以是默认高度,记为ItemHeightdef。如果显示界面高度为CYSCREEN,则界面最多能显示的控件的个数ItemNum为:
其中,min{ItemHeightmin,ItemHeightdef}表示取用户设置的控件的最小高度ItemHeightmin与默认高度ItemHeightdef中的较小值,界面最多能显示的控件的个数ItemNum为显示界面高度与该较小值的商再上取整后得到的值。以显示界面高度为2000像素为例,如果用户设置的控件的最小高度与默认高度中的较小值为最小高度,而该最小高度为100像素,则确定的控件的个数=2000/100=20,也就是说,该显示界面最多显示20个控件。
确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,仍以当前数据块的总个数为N(N≥1),从上到下依次记为:1,2,3,…,N,获取当前客户端显示界面的范围为宽度Xwidth和高度Yheight为例,确定最大的i(1≤i≤N),使得第i,i+1,i+2,…,n个数据块对应的控件的总高度大于Yheight。
例如,显示界面高度Yheight为100像素,数据块的总个数为100,第100个数据块的大小为50像素,第99个数据块的大小为20像素,第98个数据块的大小为10像素,第97个数据块的大小为30像素,由于50+20+10+30>100,从第97个数据块到第100个数据块对应的控件的总高度大于显示界面高度,也就是说,数据块序列号小于97的其他数据块到最后一个数据块对应的控件的总高度均大于显示界面高度,而数据块序号大于97的数据块又不能满足到最后一个数据块对应的控件的总高度大于显示界面高度的条件,因此,所有到最后一个数据块对应的控件的总高度大于显示界面高度的数据块中,序列号最大的是第97个数据块,因而确定i为97。
203:判断j是否大于i,如果是,则执行步骤204,否则,执行步骤205;
针对该步骤,之所以判断j和i之间的大小,是为了决定绘制数据块时的顺序,详见后续步骤。其中,j和i均为小于或等于数据块个数的正整数。
204:从多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,流程结束;
其中,由于i为使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度中最大的数据块序号i,而该步骤中,j又大于i,则意味着第j个数据块在第i个数据块之后,且第j个数据块到最后一个数据块对应的控件的总高度不会大于显示界面的高度,则为了充分利用显示界面,该步骤采取从多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量。之所以要根据数据块的大小调整绘制数据块的控件的大小,是为了使控件的展示空间不受到限制,从而满足实际的业务需求。之所以根据数据块的大小调整绘制数据块的控件的数量,是由于如果每个数据块都绘制到控件上,会需要缓存大量的控件,导致内存的开销增加,且由于显示界面可显示控件的数量有限,如果缓存大量的控件,导致资源浪费,因此,为了降低内存的开销,节约资源,本实施例提供的方法在按照由下向上的顺序将数据块一一绘制在控件上时,需要根据数据块的大小调整绘制数据块的控件的数量。在具体调整时,考虑到显示界面的范围有限,因而该步骤直至所有绘制了数据块的控件的总高度大于或等于显示界面高度时停止绘制数据,从而使绘制数据块的控件的个数有限,既降低了内存的开销,节约了资源,又充分利用了显示界面。需要强调的是:如果是第一次绘制数据,则显示界面还未创建控件,则每达到一个数据块,均需要在显示界面所在的容器中插入一个控件,控件个数的最大值可根据步骤202中描述的方式确定。当控件插入到容器中以后,无需在每次展示数据时再次执行插入控件的步骤,而只需将待展示的数据绘制到已有的控件上即可。也就是说,重新绘制数据的控件已经在显示界面所在的容器中,且个数有限,只不过有些控件能够在显示界面上显示出来,而有些控件被隐藏了。本实施例中,由于所有绘制了数据块的控件的总高度大于或等于显示界面高度,因此,绘制数据块的控件均可在显示界面上进行显示,且其大小及数量随着数据块的大小而变化。
例如,显示界面高度为100像素,如果每条数据块均为10像素,则仅需将前10个数据块绘制到10个控件上即可显示前10个数据块,但如果每个数据块均为20像素,此时显示界面仅能显示前5个数据,且需要5个控件,且每个控件的大小为20像素。当然,每条数据块的大小不一定相等,此处仅是举例进行说明,本实施例不对数据块的大小进行限定。
205:从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,流程结束。
针对该步骤,将数据块绘制到控件上的方式同上述步骤204,不同的是绘制数据的顺序不同,上述步骤204是从最后一个数据块开始绘制,而该步骤是从多个数据块中的第j个数据块开始绘制,绘制方式相同,此处不再赘述。
优选地,无论采取上述步骤204的顺序绘制数据,还是采取上述步骤205的顺序绘制数据,由于数据块的大小不同,展示数据的控件也因而不等高,因此,每次滚动框滚动一格时,界面移动跳变范围也不一致,则为了优化用户体验,可以将显示界面的滚动匀速进行,或是采用其他方式使显示界面在滚动时能平滑过渡,从而提高用户体验,本实施例对此不作具体限定。
进一步地,本实施例提供的方法还支持数据块删除或增加的应用场景。增加数据块时,由于数据块总个数发生变化,因而需要重新确定滚动框的高度,具体确定方式可参见上述步骤201。由于增加了数据块,则原有的各个数据块在内存中的存储顺序将发生调整,即需要调整数据块序号。例如,如果在第i个数据块之前增加了数据块,则原有第i个数据块及其之后的其他数据块的序号应顺次+1。除此之外,如果仍以增加数据块之前滚动框处于第j个数据为例,则增加数据块,并修正滚动框的高度之后再显示数据时,需要将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
例如,增加数据块之前,滚动框置于第j格,如果在第j个数据块之前增加数据块,则原第j个数据块的序号应调整为j+1,其后的数据块的序号也应顺次+1,且由于数据块的个数发生了变化,需要重新确定滚动框的高度,并在修正滚动框的高度之后,需要将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,即将修正了高度的滚动框置于第j+1格;相反,如果在第j个数据块之后增加数据块,原第j个数据块的数据块序号不变,则修正了高度的滚动框仍置于第j格。
对于删除数据块的应用场景,由于数据块总个数也将发生变化,不仅需要考虑到内存中数据块的排序,即调整数据块序号问题,还要考虑删除数据块之后是否仍然存在滚动框的问题。如果不存在滚动框,也就是所有数据块均能在显示界面上显示,则从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量即可。对于删除数据块后仍存在滚动框的情况,同样需要确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,再判断j是否大于i;如果是,则将滚动框置于第i格后,从多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;如果否,则执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
另外,本实施例提供的方法还支持排序逻辑,即自定义显示界面上展示的数据,此处的自定义顺序可以由用户按照一定规则设定内存中的数据块的排列顺序,再按照本实施例提供的方法刷新显示界面。如果用户未设定顺序,则可将数据绘制的先后顺序作为默认顺序,本实施例对此不作具体限定。
针对容器大小改变的情况,本实施例提供的方法同样支持。其中,本实施例不对容器大小改变的触发条件进行限定,例如,拖拽窗口大小,滚动条出现隐藏等。当容器大小改变后,由于展示数据的控件的宽度与容器的内容区域的宽度一致,因而仅需要重新计算内部文字等元素排布,重新计算控件高度即可,改变容器大小时,绘制要尽量保证当前视图不变。
本实施例提供的方法,通过根据数据块的大小调整绘制了数据块的控件的大小及数量,不仅可以节约资源开销,还可减少计算量;另外,由于控件的高度随数据块的大小而进行调整,因而可以支持多样化的数据业务,满足实际的业务需求。
实施例三
参见图4,本实施例提供了一种展示数据的装置,该装置包括:
第一确定模块401,用于确定滚动框所处的位置;
第一展示模块402,用于当第一确定模块401确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,j为小于或等于数据块个数的正整数。
优选地,第一展示模块402,用于从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
进一步地,参见图5,该装置还包括:
第二确定模块403,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,i为小于或等于数据块个数的正整数;
第一判断模块404,用于判断j是否大于第二确定模块403确定的i;
第二展示模块405,用于在第一判断模块404判断出j大于第二确定模块403确定的i时,从多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,第一展示模块402,用于在第一判断模块404判断出j未大于第二确定模块403确定的i时,执行从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度的步骤。
可选地,参见图6,该装置还包括:
增加模块406,用于在多个数据块中增加数据块;
第三展示模块407,用于在增加模块406在多个数据块中增加数据块之后,调整数据块序号,并重新确定滚动框的高度;将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
可选地,参见图7,该装置还包括:
删除模块408,用于在多个数据块中删除数据块;
第二判断模块409,用于在删除模块408在多个数据块中删除数据块之后,判断删除数据块后是否存在滚动框;
第四展示模块410,用于在第二判断模块409判断出删除数据块后未存在滚动框时,从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量;
第五展示模块411,用于在第二判断模块409判断出删除数据块后存在滚动框时,调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
进一步地,参见图8,该装置还包括:
第二确定模块403,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,i为小于或等于数据块个数的正整数;
第一判断模块404,用于判断j是否大于第二确定模块403确定的i;
第六展示模块412,用于在第一判断模块404判断出j大于第二确定模块403确定的i时,将滚动框置于第i格后,从最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,第五展示模块411,用于在第一判断模块404判断出j未大于第二确定模块403确定的i时,执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
综上所述,本实施例提供的装置,通过根据数据块的大小调整绘制了数据块的控件的大小及数量,并使所有绘制了数据块的控件的总高度大于或等于显示界面高度,从而可以节约资源开销,且由于控件的数量有限,当显示界面的大小发生变化时,还可减少计算量;另外,由于控件的高度随数据块的大小而进行调整,因而可以支持多样化的数据业务,满足实际的业务需求。
需要说明的是:上述实施例提供的展示数据的装置在展示数据时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的展示数据的装置与展示数据的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本发明实施例中的全部或部分步骤,可以利用软件实现,相应的软件程序可以存储在可读取的存储介质中,如光盘或硬盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种展示数据的方法,其特征在于,所述方法包括:
确定滚动框所处的位置;
当确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,所述j为小于或等于数据块个数的正整数。
2.根据权利要求1所述的方法,其特征在于,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之前,还包括:
确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
判断所述j是否大于所述i;
如果是,则从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
如果否,则执行从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度的步骤。
3.根据权利要求1所述的方法,其特征在于,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之后,还包括:
在所述多个数据块中增加数据块,调整数据块序号,并重新确定滚动框的高度;
将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
4.根据权利要求1所述的方法,其特征在于,所述从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之后,还包括:
在所述多个数据块中删除数据块,并判断删除数据块后是否存在滚动框;
如果否,则从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量;
如果是,则调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
5.根据权利要求4所述的方法,其特征在于,所述调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度之前,还包括:
确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于等于数据块个数的正整数;
判断所述j是否大于所述i;
如果是,则将滚动框置于第i格后,从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
如果否,则执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
6.一种展示数据的装置,其特征在于,所述装置包括:
第一确定模块,用于确定滚动框所处的位置;
第一展示模块,用于当所述第一确定模块确定滚动框处于第j格时,从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度,所述j为小于或等于数据块个数的正整数。
7.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
第二确定模块,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
第一判断模块,用于判断所述j是否大于所述第二确定模块确定的i;
第二展示模块,用于在所述第一判断模块判断出所述j大于所述第二确定模块确定的i时,从所述多个数据块中的最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,所述第一展示模块,用于在所述第一判断模块判断出所述j未大于所述第二确定模块确定的i时,执行从多个数据块中的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度的步骤。
8.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
增加模块,用于在所述多个数据块中增加数据块;
第三展示模块,用于在所述增加模块在所述多个数据块中增加数据块之后,调整数据块序号,并重新确定滚动框的高度;将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
9.根据权利要求6所述的装置,其特征在于,所述装置,还包括:
删除模块,用于在所述多个数据块中删除数据块;
第二判断模块,用于在所述删除模块在所述多个数据块中删除数据块之后,判断删除数据块后是否存在滚动框;
第四展示模块,用于在所述第二判断模块判断出删除数据块后未存在滚动框时,从第一个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量;
第五展示模块,用于在所述第二判断模块判断出删除数据块后存在滚动框时,调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据块当前对应的位置,从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
10.根据权利要求9所述的装置,其特征在于,所述装置,还包括:
第二确定模块,用于确定最大的数据块序号i,使第i个数据块到最后一个数据块对应的控件的总高度大于显示界面高度,所述i为小于或等于数据块个数的正整数;
第一判断模块,用于判断所述j是否大于所述第二确定模块确定的i;
第六展示模块,用于在所述第一判断模块判断出所述j大于所述第二确定模块确定的i时,将滚动框置于第i格后,从最后一个数据块开始,按照由下向上的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度;
相应地,所述第五展示模块,用于在所述第一判断模块判断出所述j未大于所述第二确定模块确定的i时,执行调整数据块序号,并重新确定滚动框的高度,将修正了高度的滚动框置于序号调整前的第j个数据当前对应的位置,并从序号调整前的第j个数据块开始,按照由上向下的顺序将数据块一一绘制在控件上,并根据数据块的大小调整绘制数据块的控件的大小及数量,直至所有绘制了数据块的控件的总高度大于或等于显示界面高度。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010500402.XA CN102436369B (zh) | 2010-09-29 | 2010-09-29 | 展示数据的方法及装置 |
BR112013002911A BR112013002911A8 (pt) | 2010-09-29 | 2011-09-28 | método e aparelho para exibir dados |
PCT/CN2011/080322 WO2012041236A1 (zh) | 2010-09-29 | 2011-09-28 | 展示数据的方法及装置 |
US13/739,611 US8788965B2 (en) | 2010-09-29 | 2013-01-11 | Method and device for displaying data by adjusting the size of controls |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010500402.XA CN102436369B (zh) | 2010-09-29 | 2010-09-29 | 展示数据的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102436369A CN102436369A (zh) | 2012-05-02 |
CN102436369B true CN102436369B (zh) | 2014-07-23 |
Family
ID=45891968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010500402.XA Active CN102436369B (zh) | 2010-09-29 | 2010-09-29 | 展示数据的方法及装置 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8788965B2 (zh) |
CN (1) | CN102436369B (zh) |
BR (1) | BR112013002911A8 (zh) |
WO (1) | WO2012041236A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015165078A1 (en) * | 2014-04-30 | 2015-11-05 | Hewlett-Packard Development Company, L.P. | Performing mirror test for localization testing |
CN104267961B (zh) * | 2014-09-30 | 2017-08-01 | 腾讯科技(深圳)有限公司 | 滚动条的生成方法及装置 |
CN105607816B (zh) * | 2015-09-23 | 2018-12-25 | 宇龙计算机通信科技(深圳)有限公司 | 聊天列表的显示方法及装置 |
JP7562993B2 (ja) * | 2020-06-04 | 2024-10-08 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置およびプログラム |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070157112A1 (en) * | 2005-12-30 | 2007-07-05 | Peters Johan C | On-demand scrollbar |
KR101496451B1 (ko) * | 2007-01-19 | 2015-03-05 | 엘지전자 주식회사 | 단말기 및 이를 이용한 스크롤 바의 표시방법 |
CN100487645C (zh) * | 2007-06-29 | 2009-05-13 | 中兴通讯股份有限公司 | 基于数据驱动的界面自动生成方法 |
CN101470567A (zh) * | 2007-12-24 | 2009-07-01 | 康佳集团股份有限公司 | 一种具有可标记滚动条的用户界面及其实现方法 |
CN101770519A (zh) * | 2010-03-03 | 2010-07-07 | 深圳市戴维尼科技有限公司 | 一种浏览器数据加载方法 |
-
2010
- 2010-09-29 CN CN201010500402.XA patent/CN102436369B/zh active Active
-
2011
- 2011-09-28 WO PCT/CN2011/080322 patent/WO2012041236A1/zh active Application Filing
- 2011-09-28 BR BR112013002911A patent/BR112013002911A8/pt not_active Application Discontinuation
-
2013
- 2013-01-11 US US13/739,611 patent/US8788965B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
US8788965B2 (en) | 2014-07-22 |
BR112013002911A8 (pt) | 2016-10-11 |
US20130132893A1 (en) | 2013-05-23 |
CN102436369A (zh) | 2012-05-02 |
BR112013002911A2 (pt) | 2016-05-31 |
WO2012041236A1 (zh) | 2012-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8996987B2 (en) | List view optimization | |
WO2021068331A1 (zh) | 一种网页自适应布局方法、服务器及计算机可读存储介质 | |
KR101499372B1 (ko) | 최소 프레임 레이트 요건들을 충족시키는 그래픽 렌더링 방법들 | |
US10540077B1 (en) | Conserving processing resources by controlling updates to damaged tiles of a content page | |
JP5661704B2 (ja) | 情報処理装置、サーバ装置、情報処理方法及びコンピュータプログラム | |
CA2728361A1 (en) | Software-based asynchronous tiled backingstore | |
US20150331836A9 (en) | Graceful degradation of level-of-detail in document rendering | |
CN103530117A (zh) | 一种适配移动终端不同尺寸屏幕的方法及装置 | |
CN103631958A (zh) | 一种页面自动适配实现内容多屏展示的方法 | |
CN103218195A (zh) | 应用程序的显示调整方法及装置 | |
CN102436369B (zh) | 展示数据的方法及装置 | |
CN103338235B (zh) | 在手机上实现动态壁纸交互式、个性化创作的方法 | |
CN109361947A (zh) | 网络资源批量加载方法、智能电视、存储介质及装置 | |
CN103428251A (zh) | 一种下载任务分配方法和装置 | |
CN104571819A (zh) | 一种应用程序管理方法及其装置 | |
CN105868420A (zh) | 一种网络资源加载方式配置方法及装置 | |
CN103914213B (zh) | 一种用于消除页面抖动的方法和装置 | |
CN103902575A (zh) | 一种图片信息加载方法及相关装置 | |
EP2874054A1 (en) | Application text adjusting method, device, and terminal | |
US20090102868A1 (en) | Method and apparatus for dynamically adjusting resolution of display device in mobile computing devices | |
WO2023072061A1 (zh) | 图标显示控制方法、装置、电子设备及存储介质 | |
CN103365621A (zh) | 图像处理方法及装置 | |
CN111190516A (zh) | 表格数据显示方法 | |
CN109388737B (zh) | 一种内容项的曝光数据的发送方法、装置及存储介质 | |
CN102779181A (zh) | 基于html5的浏览器离线存储数据处理方法及浏览器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 1169727 Country of ref document: HK |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |