列表展示方法、装置及列表展示端的制作方法_3

文档序号:9616253阅读:来源:国知局
果和细化布局结果也可以不结合存储,而进行独立存储。
[0106]305,创建单元视图,根据各个布局区域的布局结果以及数据对单元视图进行渲染;
[0107]可选的,可以利用列表视图(TableView)创建一个单元视图,视图层可以根据布局结果以及数据对该单元视图进行渲染。
[0108]306,将渲染后的单元视图作为列表中的一个列表项进行展示。
[0109]也就是说,在需要展示对应于该数据的列表项时,首先需要对该数据进行布局,然后创建单元视图,并利用布局结果以及数据对该单元视图进行渲染,将渲染后的单元视图作为列表中的一个列表项进行展示。
[0110]由此可知,当需要显示新类型的列表项时,仅需要在布局工厂中添加一个对应于该新类型列表项的布局计算单元,然后将该布局计算单元为该新类型进行对应,这样布局工厂在接收到与该列表项对应的数据时,根据类型可以将该数据分配到该新增加的布局计算单元中。因此在对列表进行扩展时,更加容易扩展,且避免了大量重复代码。
[0111]综上所述,本发明实施例提供的列表展示方法,通过设置的布局工厂将数据进行分类,通过与数据对应的布局计算单元进行布局,得到布局结果,在需要展示该数据时,利用布局结果以及创建的单元视图对该数据进行展示;由于将视图层进行了划分,布局计算单元很容易扩展,且布局计算单元中的布局也容易扩展,因此解决了现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题;达到了在开发新需求时便于扩展,节省工作量的效果。
[0112]本发明实施例提供的列表展示方法,在进行细化布局时,如果布局区域的配置项为叶子元素,则直接进行细化布局,如果布局区域的配置项为布局计算单元或布局工厂,则继续递归,直到获取到该布局区域的细化布局结果;从而使得对于嵌套有其他类型数据段的数据时,仍能够确定该数据的最终布局结果,由于可以递归重复利用布局工厂和/或布局计算单元,因此避免了代码重复,减少了开发时的工作量。
[0113]由于布局区域的配置项可以为叶子元素、布局计算单元和布局工厂,当配置项为布局计算单元和布局工厂时,则需要通过递归来实现,具体请参见如下对图4的描述。
[0114]请参见图4所示,其示出了本发明再一个实施例中提供的列表展示方法的方法流程图。本实施例以该列表展不方法应用于图1A所不出的MVC框架以及图1B中所不布局工厂中来举例说明。该列表展示方法可以包括:
[0115]401,利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中;
[0116]402,对于布局计算单元中的每个布局区域,根据数据对布局区域进行基础布局,得到该布局区域的基础布局结果;
[0117]步骤401、步骤402分别与图3A中的步骤301、步骤302相同,具体请参见对步骤301、步骤302的描述,这里就不再赘述。
[0118]403,确定与布局区域对应的配置项;
[0119]根据图1B可知,布局区域对应的配置项可以为叶子元素、布局工厂或布局计算单
J Li ο
[0120]404,检测该配置项是否为叶子元素;
[0121]405,若该配置项为叶子元素,则根据叶子元素对应的元素内部布局计算布局区域中内部元素的布局参数,将布局区域各个内部元素的布局参数确定为布局区域的细化布局结果;
[0122]当某个布局区域的配置项为叶子元素时,则意味着该布局区域中包含有已经设定相对位置的内部元素,此时需要叶子元素的元素内部布局来细化布局该布局区域中各内部元素,得到该布局区域的细化布局结果。
[0123]举例来讲,头像区域可以包括设定的头像元素和用户名元素,此时还可以对头像元素和用户名子区域元素进一步细化布局,得到细化布局结果,比如布局得到头像元素与用户名元素在该布局区域中的相位位置、各自的尺寸以及各自的坐标。
[0124]可选的,内部元素的布局参数至少包括内部元素的尺寸。
[0125]406,若该配置项不为叶子元素,则检测该配置项是否为布局计算单元;
[0126]407,若该配置项为布局计算单元,则将布局区域从数据中识别出的数据段发送至配置项所指示的布局计算单元,将数据段作为分配至布局计算单元中的数据,执行对于布局计算单元中的每个布局区域,根据数据对布局区域进行基础布局,得到该布局区域的基础布局结果的步骤;
[0127]当某个布局区域的配置项为布局计算单元时,则可以将该布局区域所识别出的数据段发送至与该数据段类型对应的布局计算单元中,然后再次执行步骤402,即执行递归过程。需要说明的是,在数据被初始分配至的布局计算单元与配置项所指示的布局计算单元可以是同一个布局计算单元,也可以是不同的布局计算单元。
[0128]举例来讲,当正文区域所能识别数据段对应于转发的微博原文时,由于转发的微博原文也是一条完整的文博,此时则需要布局工厂或布局计算单元对正文区域布局,该过程可以看作为递归的过程。
[0129]408,若该配置项不为布局计算单元,则检测该配置项是否为布局工厂;
[0130]409,若该配置项为布局工厂,则将布局区域从数据中识别出的数据段发送至配置项所指示的布局工厂,将数据段作为要展示的数据,执行利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中的步骤;
[0131]当某个布局区域的配置项为布局工厂时,则可以将该布局区域所识别出的数据段发送至与该数据段类型对应的布局工厂中,然后再次执行步骤401,即执行递归过程。需要说明的是,在数据被初始输入至的布局工厂与配置项所指示的布局工厂可以是同一个布局工厂,也可以是不同的布局工厂。
[0132]举例来讲,当正文区域所能识别数据段对应于转发的微博原文时,由于转发的微博原文也是一条完整的文博,此时则需要布局工厂或布局计算单元对正文区域布局,该过程可以看作为递归的过程。
[0133]需要指出说明的是,如果某个布局区域在递归中所需要的布局计算单元可以是多种时,则需要将该布局区域的配置项设置为布局工厂,由布局工厂确定递归至哪个布局计算单元。很显然,配置项为布局计算单元的情况可以看作是配置项为布局工厂的一种特例,即递归的布局工厂下仅对应一个布局计算单元,此时则可以直接将配置项设定为布局计算单元。
[0134]410,将布局区域的细化布局结果添加至该布局区域的基础布局结果中,将添加有细化布局结果的基本布局结果确定为布局区域的布局结果;
[0135]411,创建单元视图,根据各个布局区域的布局结果以及数据对单元视图进行渲染;
[0136]412,将渲染后的单元视图作为列表中的一个列表项进行展示。
[0137]步骤410至步骤412与图3A中步骤304至步骤306相同,具体请参见对步骤304至步骤306的描述,这里就不再赘述。
[0138]综上所述,本发明实施例提供的列表展示方法,通过设置的布局工厂将数据进行分类,通过与数据对应的布局计算单元进行布局,得到布局结果,在需要展示该数据时,利用布局结果以及创建的单元视图对该数据进行展示;由于将视图层进行了划分,布局计算单元很容易扩展,且布局计算单元中的布局也容易扩展,因此解决了现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题;达到了在开发新需求时便于扩展,节省工作量的效果。
[0139]本发明实施例提供的列表展示方法,在进行细化布局时,如果布局区域的配置项为叶子元素,则直接进行细化布局,如果布局区域的配置项为布局计算单元或布局工厂,则继续递归,直到获取到该布局区域的细化布局结果;从而使得对于嵌套有其他类型数据段的数据时,仍能够确定该数据的最终布局结果,由于可以递归重复利用布局工厂和/或布局计算单元,因此避免了代码重复,减少了开发时的工作量。
[0140]以下为本发明的装置实施例,对于其中未详尽描述的细节,可以参考上述对应的方法实施例。
[0141]请参见图5所示,其示出了本发明一个实施例中提供的列表展示装置的结构示意图。本实施例以该列表展示装置应用于图1A所示出的MVC框架以及图1B中所示布局工厂中来举例说明。该列表展不装置可以包括:分配模块502、布局模块504、创建模块506和展示模块508。
[0142]该分配模块502可以用于利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中;
[0143]该布局模块504可以用于在布局计算单元中,根据数据对布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0144]该创建模块506可以用于创建单元视图,根据布局结果以及数据对单元视图进行渲染;
[0145]该展示模块508可以用于将渲染后的单元视图作为列表中的一个列表项进行展
/j、l Ο
[0146]综上所述,本发明实施例提供的列表展示装置,通过设置的布局工厂将数据进行分类,通过与数据对应的布局计算单元进行布局,得到布局结果,在需要展示该数据时,利用布局结果以及创建的单元视图对该数据进行展示;由于将视图层进行了划分,布局计算单元很容易扩展,且布局计算单元中的布局也容易扩展,因此解决了现有技术中在利用MVC框架展示列表时,未考虑到列表项的特殊布局,导致在开发新需求时的重复工作量比较大的问题;达到了在开发新需求时便于扩展,节省工作量的效果。
[0147]请参见图6所示,其示出了本发明另一个实施例中提供的列表展示装置的结构示意图。本实施例以该列表展示装置应用于图1Α所示出的MVC框架以及图1Β中所示布局工厂中来举例说明。该列表展不装置可以包括:分配模块602、布局模块604、创建模块606和展示模块608。
[0148]该分配模块602可以用于利用布局工厂接收要展示的数据,将数据分配到对应的布局计算单元中;
[0149]该布局模块604可以用于在布局计算单元中,根据数据对布局计算单元中的各个布局区域进行布局,得到各个布局区域的布局结果;
[0150]该创建模块606可以用于创建单元视图,根据布局结果以及数据对单元视图进行渲染;
[0151]该展示模块608可以用于将渲染后的单元视图作为列表中的一个列表项进行展
/j、l Ο
[0152]在一种可能的实施例中,布局模块604可以包括:基础布局单元604a、细化布局单兀604b和布局确定单兀604c。
[0153]该基础布局单元604a可以用于对于布局计算单元中的每个布局区域,根据数据对布局区域进行基础布局,得到基础布局结果;
[0154]该细化布局单元604b可以用于根据布局区域所对应的配置项以及数据,对布局区域进行细化布局,得到细化布局结果;
[0155]该布局确定单元604c可以用于将布局区域的细化布局结果添加至布局区域的基本布局结果中,将添加有细化布局结果的基本布局结果确定为布局区域的布局结果。
[0156]在一种可能的实施例中,基础布局单元604a可以包括:识别子单元604al、第一计算子单元604a2和第一确定子单元604a3。
[0157]该识别子单元604al可以用于利用布局区域识别出数据中布局区域所需要的数据段;
[0158]该第一计算子单元604a2可以用于利用数据段计算布局区域的布局参数;
[0159]该第一确定子单元604a3可以用于将布局区域的布局参数确定为布局区域的基本布局结果;
[0160]其中,当布局计算单元为垂直线性布局时,布局区域的布局参数至少包括布局区域的区域高度和区域坐标中的前一种或全部两种;当布局计算单元为水平线性布局时,布局区域的布局参数至少包括布局区域的区域宽度和区域坐标中的前一种或
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1