CN107908336B - 列表控件的刷新方法、装置、存储介质及终端 - Google Patents
列表控件的刷新方法、装置、存储介质及终端 Download PDFInfo
- Publication number
- CN107908336B CN107908336B CN201711114699.4A CN201711114699A CN107908336B CN 107908336 B CN107908336 B CN 107908336B CN 201711114699 A CN201711114699 A CN 201711114699A CN 107908336 B CN107908336 B CN 107908336B
- Authority
- CN
- China
- Prior art keywords
- data object
- list
- pattern parameter
- refreshing
- layout class
- 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/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/0482—Interaction with lists of selectable items, e.g. menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Processing Or Creating Images (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明适用于通信技术领域,提供了一种列表控件的刷新方法、装置、存储介质及终端,所述方法包括:当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类;若存在时,从所述终端内存中读取所存储的布局类;从所述布局类中获取样式参数,并按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。本发明实现了采用懒加载的方式来展示数据对象,有效地降低了终端CPU的消耗,解决了现有技术在展示不同表现方式的数据对象时性能损耗大、刷新流畅度低的问题。
Description
技术领域
本发明属于通信技术领域,尤其涉及一种列表控件的刷新方法、装置、存储介质及终端。
背景技术
列表是应用程序开发过程中最常见的控件,现有的微信朋友圈、QQ空间、淘宝商品展示等都是通过列表控件来实现的,所有数据按照队列展示出来。在常见的列表控件中,现有技术是将列表中数据对象的每一行的内容统一固定起来,比如第一行为标签、第二行为图像、第三行为功能标识,表现方式单一。若每一行的内容不固定,要实现在数据对象的任意行上展示文本或图像时,每次列表控件的刷新过程中都要计算数据对象的样式参数,需要损耗较大的内存和电量,严重地影响了列表控件刷新的流畅度。
发明内容
本发明实施例提供了一种列表控件的刷新方法、装置、存储介质及终端,以解决现有技术在展示不同表现方式的数据对象时,性能损耗大、刷新流畅度低的问题。
本发明实施例提供了一种列表控件的刷新方法,所述刷新方法包括:
当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类;
若存在时,从所述终端内存中读取所存储的布局类;
从所述布局类中获取样式参数,并按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。
进一步地,所述刷新方法还包括:
若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象。
进一步地,在计算所述数据对象对应的样式参数后,所述刷新方法还包括:
根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
进一步地,所述样式参数包括标题、文本内容、图像内容以及底部四种样式;
所述计算所述数据对象对应的样式参数包括:
对于所述标题/文本内容,获取字符大小、字符总数、字符起始位置,根据所述字符大小、字符总数、字符起始位置计算所述数据对象中标题/文本内容的整体宽高信息;
对于所述图像内容,获取单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数,根据所述单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数计算所述数据对象中图像内容的整体宽高信息。
进一步地,所述按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象包括:
对于数据对象中的图像,创建imageview对象,使用picasso开源库进行加载,并根据所获取的样式参数在列表可视窗口中显示所加载的图像;
复写onTouchEvent方法;
通过所述onTouchEvent方法设置图像在onKeyDown时执行setColorFilter()函数以及图像在onKeyUp时去执行clearColorFilter()函数。
本发明实施例还提供了一种列表控件的刷新装置,所述刷新装置包括:
获取模块,用于当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
判断模块,用于对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类;
读取模块,用于若存在时,从所述终端内存中读取所存储的布局类;
加载模块,用于从所述布局类中获取样式参数,并按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。
进一步地,所述刷新装置还包括:
计算模块,用于若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
所述加载模块还用于,按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象。
进一步地,所述刷新装置还包括:
创建及存储模块,用于根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序由处理器执行时实现如上所述的列表控件的刷新方法所述的步骤。
本发明实施例还提供了一种终端,所述终端包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上所述的列表控件的刷新方法的步骤。
与现有技术相比,本发明实施例通过在本地终端内存中存储布局类;当获取到列表刷新指令时,先从服务器获取数据包,得到列表可视窗口中将要展示的数据对象;然后针对每一条数据对象,判断所述终端内存中是否存在所述数据对象对应的布局类;若存在时,则从所述终端内存中读取所存储的布局类,得到样式参数,并按照所述样式参数在所述列表可视窗口中加载、显示所述数据对象;从而实现了采用懒加载的方式来展示数据对象,只要终端内存中已存储有布局类,则直接使用所存储的布局类来进行加载并展示,避免了对该数据对象计算样式参数,有效地降低了终端CPU的消耗,解决了现有技术在展示不同表现方式的数据对象时性能损耗大、刷新流畅度低的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。
图1是本发明实施例提供的列表控件的刷新方法的第一实现流程图;
图2是本发明实施例提供的列表控件的刷新方法的第二实现流程图;
图3是本发明实施例提供的列表控件的刷新方法中步骤S105的实现流程图;
图4是本发明实施例提供的列表控件的刷新方法的第三实现流程图;
图5是本发明实施例提供的列表控件的刷新装置的组成结构图;
图6是本发明实施例提供的终端的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
实施例1
图1示出了本发明实施例提供的列表控件的刷新方法的第一实现流程。
在本发明实施例中,所述列表控件的刷新方法应用于终端,所述终端能够与后台服务器交互。所述后台服务器为应用程序的服务端设备,用于存储用户登录所述应用程序的用户帐号信息、响应消息以及推送通知。所述应用程序通常为社交类应用程序,具有网络社交圈子,比如微信、QQ、LINE、FaceBook等,使用列表控件展示社交动态信息。可选地,所述终端包括但不限于智能手机、平板电脑、学习机等。
参阅图1,所述列表控件的刷新方法包括:
在步骤S101中,当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象。
在这里,所述列表刷新指令为指示终端对列表控件上的数据对象进行更新的指令信息,可以通过比如对列表控件的启动操作、在列表控件上的下拉操作、上拉操作触发。在本发明实施例中,终端获取到列表控件的刷新指令后,访问服务器,向服务器发送请求消息。如果服务器返回了Post数据,则将这些Post数据保存至终端,并获取每一个Post数据对应的PostID。其中,每一个Post数据对应列表控件上将要展示的一个数据对象。
在步骤S102中,对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类。
在现有技术中,每次刷新操作都要对数据对象进行样式参数的计算,然后按照所计算出的样式参数在列表可视窗口内进行渲染,展示所述数据对象。终端在每次刷新列表控件时都要对界面上将要展示的数据对象进行样式参数计算,有时候还会存在对某些数据对象进行多次计算的情况,极大的影响了列表控件的刷新流畅度。鉴于此,本发明实施例在终端本地中开辟了一块内存,用于存储数据对象对应的样式参数,该样式参数为该数据对象首次在列表控件上展示时计算得到。进一步地,本发明实施例还增添了事件监听函数,通过该事件监听函数在每次刷新过程中,根据Post数据对应的PostID判断终端内存中是否存在Post数据对应的将要显示的数据对象的布局类。
当要在列表控件上展示某条数据对象时,则启动所述事件监听函数,由所述事件监听函数去查看终端内存中是否存在该条数据对象对应的布局类,如果终端内存中存在对应的布局类时,表明所述数据对象并非首次展示,本次刷新之前已在列表控件上展示过,则直接使用终端本地内存的所述布局类,执行步骤S103。
在步骤S103中,若存在时,从所述终端内存中读取所存储的布局类。
可选地,在Activity所在类中,可以使用
this.getLayoutInflater().inflater(R.layout.布局类名,null)读取所述布局类名对应的布局类。
在非Activity所在类中,则可以使用
Context.getSystemService(Context.LAYOUT_INFLATER_SERVICE).inflater(R.layout.布局类名,null)读取所述布局类名对应的布局类。
应当理解,所述布局类名为布局类的标签,与数据对象及其布局类一一对应,用于区分不同数据对象存储在终端内存中的布局类。示例性地,所述布局类可以为前文所述的PostID。
在步骤S104中,从所述布局类中获取样式参数,按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。
在这里,所述布局类中记录了数据对象的样式参数,所述样式参数定义了数据对象在列表控件中的表现方式。在本发明实施例中,所述样式参数包括但不限于标题、文本内容、图像内容以及底部四种,每一个数据对象包括标题、底部,以及文本内容和/或图像内容。在得到样式参数之后,则根据所述样式参数填充数据,包括填充文字、填充图像、网络链接等,从而完成在列表可视窗口中加载并显示数据对象。
可选地,作为本发明的一个优选实施例,所述按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象还可以包括:
对于数据对象中的图像,创建imageview对象,使用picasso开源库进行加载,并根据所获取的样式参数在列表可视窗口中显示所加载的图像;
复写onTouchEvent方法;
通过所述onTouchEvent方法设置图像在onKeyDown时执行setColorFilter()函数以及图像在onKeyUp时去执行clearColorFilter()函数。
在这里,本发明实施例选用picasso开源库来加载图像,有利于加载图像的解耦,提高加载图像的效率。进一步地,所述setColorFilter()函数用于为图像添加蒙版,所述clearColorFilter()函数则用于为图像清除蒙版。本发明实施例通过自定义imageview对象,并复写onTouchEvent方法,在onKeyDown时添加ColorFilter,然后在onKeyUp时清除掉,实现了用户在点击图像时带蒙版的效果,有效地提升了用户的体验感。对于蒙版的颜色效果,可以根据需求在setColorFilter()函数中设置,此处不作限制。
综上所述,本发明实施例通过在获取到列表刷新指令时,判断终端内存中是否存在列表可视窗口内将要显示的所述数据对象对应的布局类;然后根据判断结果为存在布局类时,读取所存储的布局类,并按照所述布局类中的样式参数在所述列表可视窗口中加载并显示所述数据对象;从而实现了在终端采用懒加载的方式来展示数据对象,只要终端存储有布局类时,直接使用该布局类中的样式参数来进行加载、展示,避免了对数据对象重复计算样式参数,对于文本及图像没有固定格式的数据对象,有效地降低了终端CPU的消耗,使得列表控件在上下滑动时的渲染速度更快、更流畅,解决了现有技术在展示不同表现方式的数据对象时性能损耗大、刷新流畅度低的问题。
进一步地,基于图1提供的列表控件的刷新方法的第一实现流程的基础上,提出本发明实施例提供的列表控件的刷新方法的第二实现流程。
如图2所示,是本发明实施例提供的列表控件的刷新方法的第二实现流程示意图,包括:
在步骤S105中,若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数。
在发明实施例中,在由事件监听函数去查看终端内存中是否存在该条数据对象对应的布局类后,如果终端内存中不存在对应的布局类时,即表明所述数据对象为首次展示,则计算所述数据对象对应的样式参数。
可选地,在本发明实施例中,所述样式参数包括标题、文本内容、图像内容以及底部四种样式。其中,所述标题为数据对象的发布者标签;所述文本内容为数据对象的书面语言的表现形式,可以为一个句子、一个段落或者一个篇章;所述图像内容为数据对象中的图形或影像;所述底部为数据对象的末尾标签,包括但不限于点赞功能标识、评论功能标识、发布时间标识。任何一个数据对象都由上述标题、底部构成,还包括文本内容和/或图像内容。图3示出了本发明实施例提供的步骤S105中计算所述数据对象对应的样式参数的实现流程,所述步骤S105包括:
在步骤S301中,对于所述标题/文本内容,获取字符大小、字符总数、字符起始位置,根据所述字符大小、字符总数、字符起始位置计算所述数据对象中标题/文本内容的整体宽高信息。
在步骤S302中,对于所述图像内容,获取单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数,根据所述单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数计算所述数据对象中图像内容的整体宽高信息。
在本发明实施例中,任何数据对象均包括所述标题、底部,以及文本内容和/或图像内容,因此可以通过分解服务器返回的每一条Post数据中的字段信息,来获取该Post数据对应的数据对象所包括的样式参数。
其中,所述整体宽高信息分别定义了文本内容或图像内容在数据对象中的位置;所述字符大小、字符总数、字符起始位置,均定义了文本内容在数据对象中的表现方式;所述单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数,则定义了图像内容在数据对象中的表现形式。终端通过读取这些样式参数完成在列表控件上加载及显示数据对象。
在步骤S106中,按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象。
在计算得到样式参数之后,则根据所述样式参数在列表可视窗口中进行布局,加载并显示所述数据对象。具体请参见图1实施例中所述的步骤S104,此处不再赘述。
本发明实施例通过在获取到列表刷新指令时,判断终端本地内存中是否存在列表可视窗口内将要显示的所述数据对象对应的布局类;当且仅当判断结果为不存在布局类时,计算所述数据对象对应的样式参数,并按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象;从而优化了样式参数的计算方式,避免了对数据对象重复计算样式参数,有效地降低了终端的性能损耗,使得列表控件在上下滑动时的渲染速度更快、更流畅,解决了现有技术在加载不同表现方式的数据对象时终端的性能损耗大、界面刷新流畅度低的问题。
进一步地,基于图2提供的列表控件的刷新方法的第二实现流程的基础上,提出本发明实施例提供的列表控件的刷新方法的第三实现流程。
如图4所示,是本发明实施例提供的列表控件的刷新方法的第三实现流程示意图,在计算所述数据对象对应的样式参数后,所述刷新方法还包括:
在步骤S107中,根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
对于在列表控件上首次展示的数据对象,在计算得到所述数据对象对应的样式参数之后,创建对应的布局类,将所述样式参数作为布局类的对象保存至终端内存中,以便于再次获取到刷新指令时直接从内存中读取所述数据对象对应的布局类,完成在列表控件上的加载和显示;避免对所述数据对象重复计算样式参数,实现了一次计算多次使用的效果,减少了终端样式参数的计算次数,使得列表控件在上下滑动时的渲染速度更快、更流畅,解决了现有技术在加载不同表现方式的数据对象时终端的性能损耗大、界面刷新流畅度低的问题。
应理解,在上述实施例中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
实施例2
图5示出了本发明实施例提供的列表控件的刷新装置的组成结构图,为了便于说明,仅示出了与本发明实施例相关的部分。
在本发明实施例中,所述列表控件的刷新装置用于实现上述图1、图2、图3、图4实施例中所述的列表控件的刷新方法,可以是内置于终端的软件单元、硬件单元、软硬件结合的单元,所述终端包括但不限于智能手机、平板电脑、学习机等。
参阅图5,所述列表控件的刷新装置包括:
获取模块51,用于当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
判断模块52,用于对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类;
读取模块53,用于若存在时,从所述终端内存中读取所存储的布局类;
加载模块54,用于从所述布局类中获取样式参数,并按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。
在这里,所述列表刷新指令为指示终端对列表控件上的数据对象进行更新的指令信息,可以通过比如对列表控件的启动操作、在列表控件上的下拉操作、上拉操作触发。在本发明实施例中,获取模块51获取到列表控件的刷新指令后,访问服务器,向服务器发送请求消息。如果服务器返回了Post数据,则将这些Post数据保存至终端,并获取每一个Post数据对应的PostID。其中,每一个Post数据对应列表控件上将要展示的一个数据对象。然后,判断模块52通过事件监听函数根据Post数据对应的PostID判断终端内存中是否存在Post数据对应的数据对象的布局类。若判断结果为存在时,读取模块53根据所述PostID读取布局类,加载模块54根据布局类中的样式参数完成加载和显示数据对象。从而实现了在终端采用懒加载的方式来展示数据对象,只要终端存储有布局类时,直接使用该布局类中的样式参数来进行加载、展示,避免了对数据对象重复计算样式参数,对于文本及图像没有固定格式的数据对象,有效地降低了终端CPU的消耗,使得列表控件在上下滑动时的渲染速度更快、更流畅,解决了现有技术在展示不同表现方式的数据对象时性能损耗大、刷新流畅度低的问题。
进一步地,所述刷新装置还包括:
计算模块55,用于若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
所述加载模块54还用于,按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象。
进一步地,所述刷新装置还包括:
创建及存储模块56,用于根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
可选地,所述样式参数包括标题、文本内容、图像内容以及底部四种样式;
所述计算模块55还用于:
对于所述标题/文本内容,获取字符大小、字符总数、字符起始位置,根据所述字符大小、字符总数、字符起始位置计算所述数据对象中标题/文本内容的整体宽高信息;
对于所述图像内容,获取单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数,根据所述单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数计算所述数据对象中图像内容的整体宽高信息。
可选地,所述加载模块54具体用于:
对于数据对象中的图像,创建imageview对象,使用picasso开源库进行加载,并根据所获取的样式参数在列表可视窗口中显示所加载的图像;
复写onTouchEvent方法;
通过所述onTouchEvent方法设置图像在onKeyDown时执行setColorFilter()函数以及图像在onKeyUp时去执行clearColorFilter()函数。
需要说明的是,本发明实施例中的各模块/单元可以用于实现上述方法实施例中的全部技术方案,其具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
实施例3
本实施例提供一计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现实施例1中列表控件的刷新方法,为避免重复,这里不再赘述。或者,该计算机程序被处理器执行时实现实施例2中列表控件的刷新装置中各模块/单元的功能,为避免重复,这里不再赘述。
实施例4
图6是本发明实施例提供的一种终端的示意图,所述终端包括但不限于服务器、移动终端。如图6所示,该实施例的终端6包括:处理器60、存储器61以及存储在所述存储器61中并可在所述处理器60上运行的计算机程序62。所述处理器60执行所述计算机程序62时实现上述列表控件的刷新方法实施例中的步骤,例如图1所示的步骤S101至S104、图2实施例中所述的步骤S105至S106、图3实施例中所述的步骤S301至S302以及图4实施例所述的步骤S107;或者,所述处理器60执行所述计算机程序62时实现上述列表控件的刷新装置实施例中各模块/单元的功能,例如图5所示模块51至56的功能。
示例性的,所述计算机程序62可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器61中,并由所述处理器60执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序62在所述终端6中的执行过程。例如,所述计算机程序62可以被分割成获取模块、判断模块、读取模块、加载模块,各模块具体功能如下:
获取模块,用于当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
判断模块,用于对于每一个数据对象,判断终端内存中是否存在所述数据对象对应的布局类;
读取模块,用于若存在时,从所述终端内存中读取所存储的布局类;
加载模块,用于从所述布局类中获取样式参数,按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象。
可选地,所述计算机程序62还可以分割出:
计算模块,用于若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
所述加载模块还用于,按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象。
可选地,所述计算机程序62还可以分割出:
创建及存储模块,用于根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
所述终端6可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述终端可包括,但不仅限于,处理器60、存储器61。本领域技术人员可以理解,图6仅仅是终端6的示例,并不构成对终端6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述终端还可以包括输入输出设备、网络接入设备、总线等。
所称处理器60可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述终端的控制中心,利用各种接口和线路连接整个终端的各个部分。
所述存储器61可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述终端的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart MediaCard,SMC)、安全数字卡(Secure Digital,SD)、闪存卡(Flash Card),至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读存储介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读存储介质不包括是电载波信号和电信信号。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围,均应包含在本发明的保护范围之内。
Claims (6)
1.一种列表控件的刷新方法,其特征在于,所述刷新方法包括:
当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
对于每一个数据对象,通过事件监听函数判断终端内存中是否存在所述数据对象对应的布局类;
若存在时,从所述终端内存中读取所存储的布局类;
从所述布局类中获取样式参数,按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象;
所述布局类记录了数据对象的样式参数;所述样式参数定义了数据对象在列表控件中的表现方式;每一个数据对象包括标题、底部,以及文本内容和/或图像内容,所述数据对象与布局类一一对应;若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象;根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
2.如权利要求1所述的列表控件的刷新方法,其特征在于,所述样式参数包括标题、文本内容、图像内容以及底部四种样式;
所述计算所述数据对象对应的样式参数包括:
对于所述标题/文本内容,获取字符大小、字符总数、字符起始位置,根据所述字符大小、字符总数、字符起始位置计算所述数据对象中标题/文本内容的整体宽高信息;
对于所述图像内容,获取单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数,根据所述单一图像的宽高信息、图像间距、首张图像的位置信息以及图像总数计算所述数据对象中图像内容的整体宽高信息。
3.如权利要求1所述的列表控件的刷新方法,其特征在于,所述按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象包括:
对于数据对象中的图像,创建imageview对象,使用picasso开源库进行加载,并根据所获取的样式参数在列表可视窗口中显示所加载的图像;
复写onTouchEvent方法;
通过所述onTouchEvent方法设置图像在onKeyDown时执行setColorFilter()函数以及图像在onKeyUp时去执行clearColorFilter()函数。
4.一种列表控件的刷新装置,其特征在于,所述刷新装置包括:
获取模块,用于当获取到列表刷新指令时,从服务器获取数据包,根据所述数据包获取列表可视窗口中将要展示的数据对象;
判断模块,用于对于每一个数据对象,通过事件监听函数判断终端内存中是否存在所述数据对象对应的布局类;
读取模块,用于若存在时,从所述终端内存中读取所存储的布局类;
加载模块,用于从所述布局类中获取样式参数,按照所述样式参数在所述列表可视窗口中加载并显示所述数据对象;
所述布局类记录了数据对象的样式参数;所述样式参数定义了数据对象在列表控件中的表现方式;每一个数据对象包括标题、底部,以及文本内容和/或图像内容,所述数据对象与布局类一一对应;计算模块,用于若终端内存中不存在所述数据对象对应的布局类时,计算所述数据对象对应的样式参数;
所述加载模块还用于,按照计算得到的样式参数在所述列表可视窗口中加载并显示所述数据对象;
创建及存储模块,用于根据所述样式参数创建所述数据对象对应的布局类,并将所述布局类存储至终端内存中。
5.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序由处理器执行时实现权利要求1至3任一项所述的列表控件的刷新方法所述的步骤。
6.一种终端,所述终端包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如上述权利要求1至3任一项所述的列表控件的刷新方法的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711114699.4A CN107908336B (zh) | 2017-11-13 | 2017-11-13 | 列表控件的刷新方法、装置、存储介质及终端 |
PCT/CN2017/112751 WO2019090854A1 (zh) | 2017-11-13 | 2017-11-24 | 列表控件的刷新方法、装置、存储介质及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711114699.4A CN107908336B (zh) | 2017-11-13 | 2017-11-13 | 列表控件的刷新方法、装置、存储介质及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107908336A CN107908336A (zh) | 2018-04-13 |
CN107908336B true CN107908336B (zh) | 2019-04-19 |
Family
ID=61845028
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711114699.4A Active CN107908336B (zh) | 2017-11-13 | 2017-11-13 | 列表控件的刷新方法、装置、存储介质及终端 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN107908336B (zh) |
WO (1) | WO2019090854A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108647075A (zh) * | 2018-05-11 | 2018-10-12 | 阿里巴巴集团控股有限公司 | 应用页面的Listview刷新方法、装置和电子设备 |
CN109462769B (zh) * | 2018-10-30 | 2021-03-16 | 武汉斗鱼网络科技有限公司 | 直播间挂件显示方法、装置、终端及计算机可读介质 |
CN109542578A (zh) * | 2018-11-30 | 2019-03-29 | 北京微播视界科技有限公司 | 一种列表界面的显示方法、装置、设备及存储介质 |
CN110333920B (zh) * | 2019-05-08 | 2022-06-17 | 武汉瓯越网视有限公司 | 一种更新图标的方法及相关装置 |
CN112073793A (zh) * | 2019-06-11 | 2020-12-11 | 海信视像科技股份有限公司 | 一种图像显示方法及装置 |
CN110442330B (zh) * | 2019-07-05 | 2023-07-21 | 五八有限公司 | 列表组件转换方法、装置、电子设备及存储介质 |
CN110457084B (zh) * | 2019-07-10 | 2021-11-30 | 五八有限公司 | 一种加载方法及装置 |
CN112925474B (zh) * | 2019-12-06 | 2023-05-23 | 深圳Tcl新技术有限公司 | 一种终端设备的控制方法、存储介质及终端设备 |
CN111309730A (zh) * | 2020-02-12 | 2020-06-19 | 中国平安人寿保险股份有限公司 | 一种缓存方法、设备、终端及计算机可读存储介质 |
CN113051012B (zh) * | 2021-03-18 | 2022-12-02 | 平安普惠企业管理有限公司 | 基于列表视图的数据加载方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095556A (zh) * | 2012-08-29 | 2013-05-08 | 五八同城信息技术有限公司 | 一种基于即时通信的列表刷新方法和装置 |
CN104238881A (zh) * | 2014-09-10 | 2014-12-24 | 北京金山安全软件有限公司 | 终端信息的显示方法、装置及终端 |
CN104881298A (zh) * | 2014-02-27 | 2015-09-02 | 国际商业机器公司 | 用于在线显示文档的方法和装置 |
CN105872635A (zh) * | 2015-12-16 | 2016-08-17 | 乐视云计算有限公司 | 视频资源分发的方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4700392B2 (ja) * | 2005-04-11 | 2011-06-15 | 株式会社ソニー・コンピュータエンタテインメント | 情報処理装置、コンピュータの制御方法及びプログラム |
US20080276182A1 (en) * | 2007-05-03 | 2008-11-06 | 3Dlabs Inc., Ltd. | Method for remotely configuring user interfaces for portable devices |
US9805135B2 (en) * | 2011-03-30 | 2017-10-31 | Cbs Interactive Inc. | Systems and methods for updating rich internet applications |
US9483444B2 (en) * | 2013-07-09 | 2016-11-01 | Flipboard, Inc. | Dynamic layout engine for a digital magazine |
CN105739973A (zh) * | 2016-01-22 | 2016-07-06 | 深圳市盛弘电气股份有限公司 | 一种基于Android的UI控件自动识别刷新方法及装置 |
CN106445314B (zh) * | 2016-09-07 | 2019-07-26 | Oppo广东移动通信有限公司 | 显示界面刷新方法及装置 |
CN106775836B (zh) * | 2016-11-29 | 2020-01-10 | 腾讯科技(深圳)有限公司 | 界面显示方法及界面显示装置 |
CN107247748B (zh) * | 2017-05-24 | 2020-08-07 | 北京潘达互娱科技有限公司 | 页面加载方法及装置 |
-
2017
- 2017-11-13 CN CN201711114699.4A patent/CN107908336B/zh active Active
- 2017-11-24 WO PCT/CN2017/112751 patent/WO2019090854A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095556A (zh) * | 2012-08-29 | 2013-05-08 | 五八同城信息技术有限公司 | 一种基于即时通信的列表刷新方法和装置 |
CN104881298A (zh) * | 2014-02-27 | 2015-09-02 | 国际商业机器公司 | 用于在线显示文档的方法和装置 |
CN104238881A (zh) * | 2014-09-10 | 2014-12-24 | 北京金山安全软件有限公司 | 终端信息的显示方法、装置及终端 |
CN105872635A (zh) * | 2015-12-16 | 2016-08-17 | 乐视云计算有限公司 | 视频资源分发的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
WO2019090854A1 (zh) | 2019-05-16 |
CN107908336A (zh) | 2018-04-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107908336B (zh) | 列表控件的刷新方法、装置、存储介质及终端 | |
CN104350493B (zh) | 将数据变换成可消费的内容 | |
CN107239318A (zh) | 应用转换方法、装置及设备 | |
CN108038094A (zh) | 一种文档批注方法、装置和电子设备 | |
CN103518195B (zh) | 用于基于矢量的表格字段文档的设备、系统和方法 | |
CN111597006A (zh) | 应用分屏方法、装置、存储介质及电子设备 | |
CN102902545B (zh) | 为动画化分解标记语言元素 | |
US20160103608A1 (en) | Virtual keyboard of a computing device to create a rich output and associated methods | |
US10269033B2 (en) | Expanded overlay state for campaign performance data snapshot cards | |
CN107480893A (zh) | 一种流程编排方法及装置 | |
US20070273706A1 (en) | Texture mapping 2-D text properties to 3-D text | |
CN108269222A (zh) | 一种窗口渲染方法及终端 | |
CN107077375A (zh) | 用于多操作系统的显示方法、装置和电子设备 | |
CN105940370A (zh) | 提供用于在基于网络的应用中编辑的文档的打印视图 | |
CN107203303A (zh) | 一种界面显示方法及装置 | |
CN114816380A (zh) | 一种面向医疗机构的低代码平台 | |
CN106708478B (zh) | 滚动视图显示方法及装置 | |
US20150154165A1 (en) | User interface for presenting an e-book along with public annotations | |
CN111259164A (zh) | 一种面向知识图谱的交互可视化方法及系统 | |
CN108153465A (zh) | 基于企业SaaS应用的标签设置方法及装置 | |
CN104199946B (zh) | 一种网页信息的加载进度的显示方法及装置 | |
US9229610B2 (en) | Methods and systems for visually forming relationships between electronic content | |
CN109331469A (zh) | 一种基于编程语言录入关卡信息的方法以及电子设备 | |
CN113835835B (zh) | 一种创建一致性组的方法、装置、及计算机可读存储介质 | |
CN112700555A (zh) | 高可配组态化3d数据可视化实现方法、电子设备、存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |