The invention provides a control layout method and system based on Intelligent filtering. The method includes: adding all the child controls that need to be displayed to the intelligent filter control, and placing each child control in the direction of layout according to the layout direction of the intelligent filter control, which is an intelligent filter control. Inherit primary linear layout controls; filter each child control. Filtering refers to discarding the subcontrols that are beyond the area of the intelligent filter control and other reservations, and drawing all the reserved subsets in the primary linear layout control in accordance with the layout direction. This invention designs an intelligent filter control for the primary linear layout control. Through the intelligent filter control, the child controls that need to be displayed can be screened, so that the sub controls placed in the primary linear layout control can be fully displayed and can fully utilize the space of the primary linear layout control.
【技术实现步骤摘要】
一种基于智能过滤的控件布局方法及系统
本专利技术涉及控件布局
,更具体地,涉及一种基于智能过滤的控件布局方法及系统。
技术介绍
在很多应用场合,都需要对子控件进行显示,比如,在直播领域,对每一个主播标签在一行或者一列进行显示,主播标签可以作为一个子控件由于每个主播标签的字数不一样,字体大小也不一样,体现为主播标签形成的子控件的高度和宽度也不一样,如果字数少的主播标签一行能放多个,字数多的主播标签一行也许只能放一个。所有的主播标签需要显示,需要将所有的主播标签作为子控件绘制摆放于原生线性布局控件中,如果给原生线性布局控件添加的标签过多,会出现标签被截断的问题,如果给原生线性布局控件添加的标签过少,原生线性布局控件的布局界面会出现多出的空白区域。
技术实现思路
本专利技术提供一种克服上述问题或者至少部分地解决上述问题的一种基于智能过滤的控件布局方法及系统。根据本专利技术的一个方面,提供一种基于智能过滤的控件布局方法,包括:将需要显示的所有子控件添加到智能过滤控件中,并按照所述智能过滤控件设置的布局方向,将每一个子控件按所述布局方向顺序摆放,其中,所述智能过滤控件继承原生线性布局控件;对每一个子控件进行筛选,所述筛选是指将超出所述智能过滤控件所在区域范围的子控件丢弃,其它的保留;在原生线性布局控件中按照所述布局方向绘制保留下来的所有的子控件。在上述技术方案的基础上,本专利技术还可以作如下改进。进一步的,还包括:获取所述智能过滤控件的宽高;以及,所述将需要显示的所有子控件添加到所述智能过滤控件中之后还包括:获取每一个子控件的宽高。进一步的,所述布局方向包括竖向布 ...
【技术保护点】
1.一种基于智能过滤的控件布局方法,其特征在于,包括:将需要显示的所有子控件添加到智能过滤控件中,并按照所述智能过滤控件设置的布局方向,将每一个子控件按所述布局方向顺序摆放,其中,所述智能过滤控件继承原生线性布局控件;对每一个子控件进行筛选,所述筛选是指将超出所述智能过滤控件所在区域范围的子控件丢弃,其它的保留;在原生线性布局控件中按照所述布局方向绘制保留下来的所有的子控件。
【技术特征摘要】
1.一种基于智能过滤的控件布局方法,其特征在于,包括:将需要显示的所有子控件添加到智能过滤控件中,并按照所述智能过滤控件设置的布局方向,将每一个子控件按所述布局方向顺序摆放,其中,所述智能过滤控件继承原生线性布局控件;对每一个子控件进行筛选,所述筛选是指将超出所述智能过滤控件所在区域范围的子控件丢弃,其它的保留;在原生线性布局控件中按照所述布局方向绘制保留下来的所有的子控件。2.如权利要求1所述的一种基于智能过滤的控件布局方法,其特征在于,还包括:获取所述智能过滤控件的宽高;以及,所述将需要显示的所有子控件添加到所述智能过滤控件中之后还包括:获取每一个子控件的宽高。3.如权利要求2所述的一种基于智能过滤的控件布局方法,其特征在于,所述布局方向包括竖向布局方向和横向布局方向。4.如权利要求3所述的一种基于智能过滤的控件布局方法,其特征在于,当所述布局方向为竖向布局方向时,所述对每一个子控件进行筛选具体包括:将每一个子控件按照竖向方向在所述智能过滤控件中逐一顺序摆放;判断当前子控件是否满足第一预设条件,若是,则保留当前子控件,否则,则丢弃当前子控件;其中,所述第一预设条件是指当前子控件与其前面摆放的所有子控件的累加高度不超过所述智能过滤控件的高度,以及当前子控件的宽度不超过所述智能过滤控件的宽度。5.如权利要求3所述的一种基于智能过滤的控件布局方法,其特征在于,当所述布局方向为横向布局方向时,所述对每一个子控件进行筛选具体包括:将每一个子控件按照横向布局方向在所述智能过滤控件中逐一顺序摆放;判断当前子控件是否满足第二预设条件,若是,则保留当前子控件,否则,则丢弃当前子控件;其中,所述...
【专利技术属性】
技术研发人员:陈娇,陈少杰,张文明,
申请(专利权)人:武汉斗鱼网络科技有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。