列表展示方法、装置及列表展示端的制作方法
【技术领域】
[0001]本发明涉及列表开发领域,特别涉及一种列表展示方法、装置及列表展示端。
【背景技术】
[0002]客户端中通常需要以列表的形式展示各条信息,其中每条信息可以作为该列表中的一个列表项,比如微博页面中可同时展示包括多条微博的列表,每条微博即为该列表中的一个列表项。
[0003]列表展示作为视图展示的一种特例,通常也是采用MVC(Model_View-Controller,模型-视图-控制器)框架进行展示的。常用的MVC框架包括:模型层(Model)、视图层(View)和控制层(Controller)。在利用传统的MVC框架中展示列表时,与展示其他类型的视图类似,模型层在获取数据之后,由控制层对列表数据进行布局封装后,通知给视图层进行展示,其中控制层在对列表数据进行布局封装时是作为一个整体进行开发的。
[0004]在实现本发明的过程中,发明人发现现有技术至少存在以下问题:由于列表中的列表项在展示时具有相似的布局,比如微博的用户头像均位于微博的左上方、微博的正文均位于微博的中间位置、微博的转发评论信息均位于微博的下方等,而目前利用MVC框架进行列表展示时,并没有考虑到列表项的这种特殊性,且由于控制层在对列表数据进行布局封装时是作为一个整体开发的,当需要对列表中的某部分进行扩展时,需要大量的重复工作。
【发明内容】
[0005]为了解决现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题,本发明实施例提供了一种列表展示方法、装置及列表展示端。所述技术方案如下:
[0006]第一方面,提供了一种列表展示方法,应用于包含有布局工厂和布局计算单元的模型-视图-控制器框架中,所述方法包括:
[0007]利用所述布局工厂接收要展示的数据,将所述数据分配到对应的布局计算单元中;
[0008]在所述布局计算单元中,根据所述数据对所述布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0009]创建单元视图,根据所述布局结果以及所述数据对所述单元视图进行渲染;
[0010]将渲染后的所述单元视图作为列表中的一个列表项进行展示。
[0011]第二方面,提供了一种列表展示装置,应用于包含有布局工厂和布局计算单元的模型-视图-控制器框架中,所述装置包括:
[0012]分配模块,用于利用所述布局工厂接收要展示的数据,将所述数据分配到对应的布局计算单元中;
[0013]布局模块,用于在所述布局计算单元中,根据所述数据对所述布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0014]创建模块,用于创建单元视图,根据所述布局结果以及所述数据对所述单元视图进行渲染;
[0015]展示模块,用于将渲染后的所述单元视图作为列表中的一个列表项进行展示。
[0016]第三方面,提供了一种列表展示端,所述列表展示端包括:
[0017]触摸屏显示器、一个或者一个以上的处理器;
[0018]存储器;
[0019]以及一个或者一个以上的程序,其中所述一个或者一个以上程序存储于所述存储器中,且经配置以由所述一个或者一个以上处理器执行,所述一个或者一个以上程序包含用于进行以下操作的指令:
[0020]利用所述布局工厂接收要展示的数据,将所述数据分配到对应的布局计算单元中;
[0021 ] 在所述布局计算单元中,根据所述数据对所述布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0022]创建单元视图,根据所述布局结果以及所述数据对所述单元视图进行渲染;
[0023]将渲染后的所述单元视图作为列表中的一个列表项进行展示。
[0024]本发明实施例提供的技术方案带来的有益效果是:
[0025]通过设置的布局工厂将数据进行分类,通过与数据对应的布局计算单元进行布局,得到布局结果,在需要展示该数据时,利用布局结果以及创建的单元视图对该数据进行展示;由于将视图层进行了划分,布局计算单元很容易扩展,且布局计算单元中的布局也容易扩展,因此解决了现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题;达到了在开发新需求时便于扩展,节省工作量的效果。
【附图说明】
[0026]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]图1A是本发明部分实施例中提供的列表展示方法所涉及的MVC框架的结构示意图;
[0028]图1B是本发明部分实施例中提供的列表展示方法所涉及的布局工厂的结构示意图;
[0029]图2本发明一个实施例中提供的列表展示方法的方法流程图;
[0030]图3A是本发明另一个实施例中提供的列表展示方法的方法流程图;
[0031]图3B是本发明部分实施例中提供的布局计算单元中各个布局区域的示意图;
[0032]图3C是本发明部分实施例中布局计算单元在根据数据对布局区域进行基础布局时的流程图;
[0033]图3D至图3F是本发明部分实施例中提供的对布局计算单元中布局区域进行垂直方向调整时的示意图;
[0034]图3G至图31是本发明部分实施例中提供的对布局计算单元中布局区域进行水平方向调整时的示意图;
[0035]图4是本发明再一个实施例中提供的列表展示方法的方法流程图;
[0036]图5是本发明一个实施例中提供的列表展示装置的结构示意图;
[0037]图6是本发明另一个实施例中提供的列表展示装置的结构示意图;
[0038]图7是本发明一个实施例中提供的列表展示端的结构示意图。
【具体实施方式】
[0039]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。文中所讲的“电子设备”可以包括智能手机、平板电脑、智能电视、电子书阅读器、音乐播放器、膝上型便携计算机和台式计算机等等。
[0040]为了便于对本发明实施例的理解,首先对本发明实施例所涉及的基本概念进行解释,具体如下:
[0041]MVC (Model-View-Controller,模型-视图-控制器)框架,是一种使用MVC设计创建网页应用程序的模式。其中,Model (模型)是应用程序中用于处理应用程序数据逻辑的部分,用于表示应用程序核心(比如数据库记录列表),通常负责在数据库中存取数据;View(视图)是应用程序中处理数据显示的部分,用于显示数据(比如数据库记录与显示),通常是依据模型数据创建的Controller (控制器)是应用程序中处理用户交互的部分,用于处理输入(比如写入数据库记录),通常从视图读取数据,控制用户输入,并向模型发送数据。
[0042]布局工厂(View Factory),用于提供由数据到对应展示的配置以及转换过程。
[0043]布局计算单元(Layout ALU),用于提供一种对视图元素的配置以及其相对位置的描述。也即为需要展示的视图元素(比如列表项)提供布局。
[0044]叶子元素(UnitView),用于根据对应的元素内部布局的布局结果对列表项中的元素进行封装。
[0045]元素内部布局(ModelUnit),用于对列表项中的元素进行布局计算,得到布局结果,并将布局结果提供给叶子元素。
[0046]为了更便于对本发明实施例的理解,首先对本发明实施例所涉及的MVC框架以及布局工厂架构进行说明,分别参见图1A和图1B所示。
[0047]图1A是本发明部分实施例中提供的列表展示方法所涉及的MVC框架的结构示意图,该MVC框架中包括模型层(M层)、视图层(V层)以及控制层(C层)。
[0048]其中,模型层包括网络存储资源(Remote DataSource) 102a和本地存储资源(Local Storage) 104a ;视图层包括布局工厂(View Factory) 106a、布局计算单兀(LayoutALU) 108a和列表视图(TableView) 110a ;控制层包括数据管理中心(Data Manager) 112a、视图控制器(ViewController) 114a 以及列表视图适配器(Tableview Adapter) 116a。
[0049]其中,布局工厂的结构如图1B所示。图1B是本发明部分实施例中提供的列表展示方法所涉及的布局工厂的结构示意图,布局工厂(View Factory) 102b将获取的数据分配给布局计算单元(Layout ALU) 104b,布局计算单元的配置项包括如下三种:
[0050]第一种配置项为叶子元素(UnitView) 106b,即在元素内部布局(ModelUnit) 108b中进行布局,利用叶子元素106b对布局结果进行封装;
[0051]第二种配置项为布局工厂102b,即在布局工厂102b中进行布局,利用聚合视图(AggregateView) 110b对布局结果进行封装;
[0052]第三种为布局计算单元104b,即在布局计算单元104b中进行布局,利用聚合视图110b对布局结果进行封装。
[0053]根据上述提供的MVC框架以及布局工厂来实现列表的展示,具体参见图2、图3A中的描述。
[0054]请参见图2所示,其示出了本发明一个实施例中提供的列表展示方法的方法流程图。本实施例以该列表展示方法应用于图1A所示出的MVC框架以及图1B中所示布局工厂中来举例说明。该列表展示方法可以包括:
[0055]201,利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中;
[0056]要展示的数据是数据管理中心从网络存储资源或本地存储资源中获取,并发送至布局工厂中的。
[0057]对应的,布局工厂则接收到展示的数据,并将数据分配到对应的布局计算单元中。
[0058]202,在布局计算单元中,根据数据对布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0059]203,创建单元视图,根据布局结果以及数据对单元视图进行渲染;
[0060]204,将渲染后的单元视图作为列表中的一个列表项进行展示。
[0061]综上所述,本发明实施例提供的列表展示方法,通过设置的布局工厂将数据进行分类,通过与数据对应的布局计算单元进行布局,得到布局结果,在需要展示该数据时,利用布局结果以及创建的单元视图对该数据进行展示;由于将视图层进行了划分,布局计算单元很容易扩展,且布局计算单元中的布局也容易扩展,因此解决了现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题;达到了在开发新需求时便于扩展,节省工作量的效果。
[0062]请参见图3A所示,其示出了本发明另一个实施例中提供的列表展示方法的方法流程图。本实施例以该列表展示方法应用于图1A所示出的MVC框架以及图1B中所示布局工厂中来举例说明。该列表展示方法可以包括:
[0063]301,利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中;
[0064]要展示的数据是数据管理中心从网络存储资源或本地存储资源中获取,并发送至布局工厂中的。这里所讲的数据对应于列表中的一个需要展示的列表项,也即列表项是根据该数