一种数据处理方法及装置制造方法及图纸

技术编号:34079305 阅读:19 留言:0更新日期:2022-07-11 18:28
本发明专利技术公开了一种数据处理方法及装置,可以获得元素宽度组;其中,元素宽度组中包括至少一个元素的宽度,各元素均待排列在目标视图控件的视图界面中,各元素的高度均为第一高度;基于各元素的宽度以及预定义的元素排列规则,确定当在视图界面中对各元素进行横向排列时的总排列行数;元素排列规则至少包括:在视图界面中对各元素进行横向排列时,两两元素间均无重叠区域;将总排列行数与第一高度的乘积确定为视图界面的高度。本发明专利技术可以无需真实的执行将元素在视图界面中进行排列,而仅基于各元素的宽度和元素排列规则,即可以确定各元素在视图界面中的总排列行数,可以有效实现对高度的确定,提高高度获取效率。提高高度获取效率。提高高度获取效率。

【技术实现步骤摘要】
一种数据处理方法及装置


[0001]本专利技术涉及数据处理
,尤其涉及一种数据处理方法及装置。

技术介绍

[0002]随着计算机科学与技术的发展,视图控件的控制技术不断提高。
[0003]CollectionView是一个通用化的视图控件。当前,有些应用场景需要在将多个元素布置在CollectionView之前,即确定出该多个元素在CollectionView中占用的高度。
[0004]但是,元素在现有技术无法有效的提前确定出上述高度。

技术实现思路

[0005]鉴于上述问题,本专利技术提供一种克服上述问题或者至少部分地解决上述问题的数据处理方法及装置,技术方案如下:一种数据处理方法,包括:获得元素宽度组;其中,所述元素宽度组中包括至少一个元素的宽度,各所述元素均待排列在目标视图控件的视图界面中,各所述元素的高度均为第一高度;基于各所述元素的宽度以及预定义的元素排列规则,确定当在所述视图界面中对各所述元素进行横向排列时的总排列行数;所述元素排列规则至少包括:在所述视图界面中对各所述元素进行横向排列时,两两所述元素间均无重叠区域;将所述总排列行数与所述第一高度的乘积确定为所述视图界面的高度。
[0006]可选的,所述目标视图控件为collectionView;所述基于各所述元素的宽度以及预定义的元素排列规则,确定当在所述视图界面中对各所述元素进行横向排列时的总排列行数,包括:基于各所述元素的宽度和所述元素排列规则,确定当在所述视图界面中的至少一行子界面区域中依次排列各所述元素时的总排列行数;各所述子界面区域的高度均为所述第一高度,各所述子界面区域的宽度均为预设的第一宽度。
[0007]可选的,所述基于各所述元素的宽度和所述元素排列规则,确定当在所述视图界面中的至少一行子界面区域中依次排列各所述元素时的总排列行数,包括:基于各所述元素的宽度,确定当按照自上而下、由左至右的排列次序,在各所述子界面区域中依次排列各所述元素时的总排列行数。
[0008]可选的,所述基于各所述元素的宽度,确定当按照自上而下、由左至右的排列次序,在各所述子界面区域中依次排列各所述元素时的总排列行数,包括:将第二元素确定为当前目标元素,判断第一元素的元素宽度是否不小于所述第一宽度,如果是,则确定当前目标元素在所述视图界面中排列的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;其中,所述第一元素为所述元素宽度组中位置次序为第一位的宽度所对应的元素,所述第二元素为所述元素宽度组中位置次序为第二位的宽度所对应的元素;
否则,将所述第一元素与当前目标元素的宽度和值确定为当前宽度和值;如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第一行,将第一行确定为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;将当前目标元素的下一次序的元素确定为当前目标元素;将当前目标元素的宽度与当前元素占用宽度的和值确定为当前宽度和值,如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序的下一行次序,将当前目标行次序的下一行次序确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;返回执行所述将当前目标元素的后一次序的元素确定为当前目标元素的步骤,直至处理完所有所述元素;确定出最终的当前目标行次序,将最终的当前目标行次序对应的行数确定为所述总排列行数。
[0009]可选的,所述元素排列规则还包括:排列在同一行子界面区域且相邻的任两个所述元素之间的水平间距均为预设间距。
[0010]一种数据处理装置,包括:第一获得单元、第一确定单元和第二确定单元;其中:所述第一获得单元,用于获得元素宽度组;其中,所述元素宽度组中包括至少一个元素的宽度,各所述元素均待排列在目标视图控件的视图界面中,各所述元素的高度均为第一高度;所述第一确定单元,用于基于各所述元素的宽度以及预定义的元素排列规则,确定当在所述视图界面中对各所述元素进行横向排列时的总排列行数;所述元素排列规则至少包括:在所述视图界面中对各所述元素进行横向排列时,两两所述元素间均无重叠区域;所述第二确定单元,用于将所述总排列行数与所述第一高度的乘积确定为所述视图界面的高度。
[0011]可选的,所述目标视图控件为collectionView;所述第一确定单元,用于基于各所述元素的宽度和所述元素排列规则,确定当在所述视图界面中的至少一行子界面区域中依次排列各所述元素时的总排列行数;各所述子界面区域的高度均为所述第一高度,各所述子界面区域的宽度均为预设的第一宽度。
[0012]可选的,所述第一确定单元,用于基于各所述元素的宽度,确定当按照自上而下、由左至右的排列次序,在各所述子界面区域中依次排列各所述元素时的总排列行数。
[0013]可选的,所述第一确定单元,用于:将第二元素确定为当前目标元素,判断第一元素的元素宽度是否不小于所述第一宽度,如果是,则确定当前目标元素在所述视图界面中排列的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;其中,所述第一元素为所述元素宽度组中位置次序为第一位的宽度所对应的
元素,所述第二元素为所述元素宽度组中位置次序为第二位的宽度所对应的元素;否则,将所述第一元素与当前目标元素的宽度和值确定为当前宽度和值;如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第一行,将第一行确定为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;将当前目标元素的下一次序的元素确定为当前目标元素;将当前目标元素的宽度与当前元素占用宽度的和值确定为当前宽度和值,如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序的下一行次序,将当前目标行次序的下一行次序确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;返回执行所述将当前目标元素的后一次序的元素确定为当前目标元素的步骤,直至处理完所有所述元素;确定出最终的当前目标行次序,将最终的当前目标行次序对应的行数确定为所述总排列行数。
[0014]可选本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获得元素宽度组;其中,所述元素宽度组中包括至少一个元素的宽度,各所述元素均待排列在目标视图控件的视图界面中,各所述元素的高度均为第一高度;基于各所述元素的宽度以及预定义的元素排列规则,确定当在所述视图界面中对各所述元素进行横向排列时的总排列行数;所述元素排列规则至少包括:在所述视图界面中对各所述元素进行横向排列时,两两所述元素间均无重叠区域;将所述总排列行数与所述第一高度的乘积确定为所述视图界面的高度。2.根据权利要求1所述的数据处理方法,其特征在于,所述目标视图控件为collectionView;所述基于各所述元素的宽度以及预定义的元素排列规则,确定当在所述视图界面中对各所述元素进行横向排列时的总排列行数,包括:基于各所述元素的宽度和所述元素排列规则,确定当在所述视图界面中的至少一行子界面区域中依次排列各所述元素时的总排列行数;各所述子界面区域的高度均为所述第一高度,各所述子界面区域的宽度均为预设的第一宽度。3.根据权利要求2所述的数据处理方法,其特征在于,所述基于各所述元素的宽度和所述元素排列规则,确定当在所述视图界面中的至少一行子界面区域中依次排列各所述元素时的总排列行数,包括:基于各所述元素的宽度,确定当按照自上而下、由左至右的排列次序,在各所述子界面区域中依次排列各所述元素时的总排列行数。4.根据权利要求3所述的数据处理方法,其特征在于,所述基于各所述元素的宽度,确定当按照自上而下、由左至右的排列次序,在各所述子界面区域中依次排列各所述元素时的总排列行数,包括:将第二元素确定为当前目标元素,判断第一元素的元素宽度是否不小于所述第一宽度,如果是,则确定当前目标元素在所述视图界面中排列的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;其中,所述第一元素为所述元素宽度组中位置次序为第一位的宽度所对应的元素,所述第二元素为所述元素宽度组中位置次序为第二位的宽度所对应的元素;否则,将所述第一元素与当前目标元素的宽度和值确定为当前宽度和值;如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第一行,将第一行确定为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为第二行,将第二行确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;将当前目标元素的下一次序的元素确定为当前目标元素;将当前目标元素的宽度与当前元素占用宽度的和值确定为当前宽度和值,如果当前宽度和值不大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序,将当前宽度和值确定为当前目标行次序的当前元素占用宽度;如果当前宽度和值大于所述第一宽度,则确定当前目标元素的子界面区域行次序为当前目标行次序的下一行次序,将当前目标行次序的下一行次序确定为当前目标行次序,将当前目标元素的宽度确定为当前目标行次序的当前元素占用宽度;
返回执行所述将当前目标元素的后一次序的元素确定为当前目标元素的步骤,直至处理完所有所述元素;确定出最终的当前目标行次序,将最终的当前目标行次序对应的行数确定为所述总排列行数。5.根据权利要求1所述的数据处理方法,其特征在于,所述元素...

【专利技术属性】
技术研发人员:李赞
申请(专利权)人:北京搜狐新动力信息技术有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1