[发明专利]一种ViewGroup动态布局方法、装置及电子设备有效
申请号: | 201810601454.2 | 申请日: | 2018-06-12 |
公开(公告)号: | CN108958831B | 公开(公告)日: | 2021-10-15 |
发明(设计)人: | 王龙 | 申请(专利权)人: | 北京奇艺世纪科技有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F9/451 |
代理公司: | 北京柏杉松知识产权代理事务所(普通合伙) 11413 | 代理人: | 项京;马敬 |
地址: | 100080 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 viewgroup 动态 布局 方法 装置 电子设备 | ||
1.一种ViewGroup动态布局方法,其特征在于,包括:
主线程在检测到对ViewGroup的视图区域完成控件布局时,向预加载线程发送预加载通知,以使得预加载线程在接收到预加载通知时,对至少一个待布局控件进行预加载,并将预加载的至少一个待布局控件存储至第一缓存区;
当检测到所述ViewGroup的视图区域内的内容发生滚动时,从所述第一缓存区中,获得与本次滚动过程相匹配的至少一个目标控件;
在所述ViewGroup的视图区域中,根据预设的布局方式布局所述至少一个目标控件;
其中,所述对至少一个待布局控件进行预加载,包括:
确定所述视图区域中当前所布局的末尾控件;
将预先指定的、所述末尾控件之后的连续第一目标数量个控件,作为第一目标数量个待布局控件;
创建并初始化所述第一目标数量个待布局控件;
或者,所述对至少一个待布局控件进行预加载,包括:
确定所述视图区域中当前所布局的末尾控件和起始控件;
将预先指定的、所述末尾控件之后的连续第一目标数量个控件,作为第一目标数量个待布局控件;
当所述起始控件的第二位置标识不为预设最小位置标识时,将预先指定的、所述起始控件之前的连续第二目标数量个控件,作为第二目标数量个待布局控件;
创建并初始化所述第一目标数量个待布局控件和所述第二目标数量个待布局控件;
所述方法还包括:
所述第一目标数量的确定方式为:当判断出预先指定的、所述末尾控件之后的控件的数量不小于第一预设数量时,将所述第一预设数量作为第一目标数量,否则,将预先指定的、所述末尾控件之后的所有控件的数量作为第一目标数量;
所述第二目标数量的确定方式为:当判断出预先指定的、所述起始控件之前的控件的数量不小于第二预设数量时,将所述第二预设数量作为第二目标数量,否则,将预先指定的、所述起始控件之前的所有控件的数量作为第二目标数量;
当检测到所述视图区域内的内容发生滚动时,将移出所述视图区域的控件存储至第二缓存区;
所述创建并初始化所述第一目标数量个待布局控件和所述第二目标数量个待布局控件的步骤,包括:
判断第一标识范围(X1,X2]和第二标识范围[X3,X4)内的各个位置标识对应的控件是否在第二缓存区中;其中,X1为第一位置标识,X2为所述第一位置标识与所述第一目标数量之和,X3为所述第二位置标识与所述第二目标数量之差,X4为所述第二位置标识;
如果均在,则从第二缓存区中提取第一标识范围(X1,X2]和第二标识范围[X3,X4)内的各个位置标识对应的控件;
如果均不在,则创建所述第一目标数量个待布局控件和第二目标数量个待布局控件,并初始化所创建的所述第一目标数量个待布局控件和第二目标数量个待布局控件;
否则,从第二缓存区中提取具有第一目标标识的控件,创建并初始化目标待布局控件;其中,所述第一目标标识为位于第一标识范围(X1,X2]或第二标识范围[X3,X4)内的位置标识;所述目标待布局控件为第一目标数量个待布局控件和第二目标数量个待布局控件中,除从第二缓存区中所提取的控件以外的控件。
2.根据权利要求1所述的方法,其特征在于,所述创建并初始化所述第一目标数量个待布局控件,包括:
创建所述第一目标数量个待布局控件;
以所述末尾控件的第一位置标识的下一位置标识为起始位置标识,设置所创建的第一目标数量个待布局控件的位置标识,并对所创建的第一目标数量个待布局控件进行类型标识和数据绑定。
3.根据权利要求1所述的方法,其特征在于,所述获得与本次滚动过程相匹配的至少一个目标控件,包括:
获得与本次滚动过程的滚动高度相匹配的至少一个目标控件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京奇艺世纪科技有限公司,未经北京奇艺世纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810601454.2/1.html,转载请声明来源钻瓜专利网。