美文网首页Android
FlexboxLayoutManager流式布局设置行数

FlexboxLayoutManager流式布局设置行数

作者: 带带我 | 来源:发表于2022-07-26 08:50 被阅读0次

    项目做流式布局的搜索记录,要求UI上最多显示两行,同行ios通过设置UI高度与限制滑动来解决,我觉得还是找找方法吧,下面这个是网上找的办法,出处找不到了

    FlexboxLayoutManager默认有一个setMaxLine()方法,此方法是设置最大显示行数,多出的部分会挤在最后一行显示,这个设计有点抽风,在网上看了一个解决方法,通过自定义FlexboxLayoutManager,修改最大显示行数

    public class FlexboxLayoutManagerCustom extends FlexboxLayoutManager {
    
        private int maxLines;
    
        public FlexboxLayoutManagerCustom(Context context, int maxLines) {
            super(context);
            this.maxLines = maxLines ;
        }
    
        @Override
        public int getMaxLine() {
            return super.getMaxLine();
        }
    
        /**
          * 这里限制了最大行数,多出部分被以 subList 方式截掉
          */
        @Override
        public List<FlexLine> getFlexLinesInternal() {
            List<FlexLine> flexLines = super.getFlexLinesInternal();
            int size = flexLines.size();
            if (maxLines > 0 && size > maxLines) {
                flexLines.subList(maxLines, size).clear();
            }
            return flexLines;
        }
    }
    

    相关文章

      网友评论

        本文标题:FlexboxLayoutManager流式布局设置行数

        本文链接:https://www.haomeiwen.com/subject/vioairtx.html