[发明专利]一种基于智能过滤的控件布局方法及系统有效
申请号: | 201810002494.5 | 申请日: | 2018-01-02 |
公开(公告)号: | CN108363571B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 陈娇;陈少杰;张文明 | 申请(专利权)人: | 武汉斗鱼网络科技有限公司 |
主分类号: | G06F8/38 | 分类号: | G06F8/38;G06F8/34 |
代理公司: | 北京众达德权知识产权代理有限公司 11570 | 代理人: | 刘杰 |
地址: | 430000 湖北省武汉市东湖开*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 智能 过滤 控件 布局 方法 系统 | ||
本发明提供一种基于智能过滤的控件布局方法及系统,所述的方法包括:将需要显示的所有子控件添加到所述智能过滤控件中,并按照智能过滤控件设置的布局方向,将每一个子控件按布局方向顺序摆放,其中,智能过滤控件继承原生线性布局控件;对每一个子控件进行筛选,筛选是指将超出所述智能过滤控件所在区域范围的子控件丢弃,其它的保留;在原生线性布局控件中按照布局方向绘制保留下来的所有的子控件。本发明为原生线性布局控件设计一智能过滤控件,通过智能过滤控件对需要显示的子控件进行筛选,使得原生线性布局控件中摆放的子控件都能够完整显示,也能够充分地利用原生线性布局控件的空间。
技术领域
本发明涉及控件布局技术领域,更具体地,涉及一种基于智能过滤的控件布局方法及系统。
背景技术
在很多应用场合,都需要对子控件进行显示,比如,在直播领域,对每一个主播标签在一行或者一列进行显示,主播标签可以作为一个子控件由于每个主播标签的字数不一样,字体大小也不一样,体现为主播标签形成的子控件的高度和宽度也不一样,如果字数少的主播标签一行能放多个,字数多的主播标签一行也许只能放一个。
所有的主播标签需要显示,需要将所有的主播标签作为子控件绘制摆放于原生线性布局控件中,如果给原生线性布局控件添加的标签过多,会出现标签被截断的问题,如果给原生线性布局控件添加的标签过少,原生线性布局控件的布局界面会出现多出的空白区域。
发明内容
本发明提供一种克服上述问题或者至少部分地解决上述问题的一种基于智能过滤的控件布局方法及系统。
根据本发明的一个方面,提供一种基于智能过滤的控件布局方法,包括:
将需要显示的所有子控件添加到智能过滤控件中,并按照所述智能过滤控件设置的布局方向,将每一个子控件按所述布局方向顺序摆放,其中,所述智能过滤控件继承原生线性布局控件;
对每一个子控件进行筛选,所述筛选是指将超出所述智能过滤控件所在区域范围的子控件丢弃,其它的保留;
在原生线性布局控件中按照所述布局方向绘制保留下来的所有的子控件。
在上述技术方案的基础上,本发明还可以作如下改进。
进一步的,还包括:
获取所述智能过滤控件的宽高;
以及,所述将需要显示的所有子控件添加到所述智能过滤控件中之后还包括:
获取每一个子控件的宽高。
进一步的,所述布局方向包括竖向布局方向和横向布局方向。
进一步的,当所述布局方向为竖向布局方向时,所述对每一个子控件进行筛选具体包括:
将每一个子控件按照竖向方向在所述智能过滤控件中逐一顺序摆放;
判断当前子控件是否满足第一预设条件,若是,则保留当前子控件,否则,则丢弃当前子控件;
其中,所述第一预设条件是指当前子控件与其前面摆放的所有子控件的累加高度不超过所述智能过滤控件的高度,以及当前子控件的宽度不超过所述智能过滤控件的宽度。
进一步的,当所述布局方向为横向布局方向时,所述对每一个子控件进行筛选具体包括:
将每一个子控件按照横向布局方向在所述智能过滤控件中逐一顺序摆放;
判断当前子控件是否满足第二预设条件,若是,则保留当前子控件,否则,则丢弃当前子控件;
其中,所述第二预设条件是指当前子控件与其前面摆放的所有子控件的累加宽度不超过所述智能过滤控件的宽度,以及当前子控件的高度不超过所述智能过滤控件的高度。
进一步的,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉斗鱼网络科技有限公司,未经武汉斗鱼网络科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810002494.5/2.html,转载请声明来源钻瓜专利网。