美文网首页
流式布局 ChipsLayoutManager

流式布局 ChipsLayoutManager

作者: 小耗子_20da | 来源:发表于2020-05-27 10:47 被阅读0次

    网上找了好多流式布局的LayoutManager,目前发现这个是最好的,现在将使用方法记录一下,免得下次忘记。
    作者github地址

    使用方法

    1、添加依赖

    allprojects {
        repositories {
            jcenter()
        }
    }
    dependencies {
        implementation 'com.beloo.widget:ChipsLayoutManager:0.3.7@aar'
    }
    

    2、创建ChipsLayoutManager

    ChipsLayoutManager chipsLayoutManager = ChipsLayoutManager.newBuilder(this)
        //为一行中的所有项目设置垂直重力。 Default = Gravity.CENTER_VERTICAL
        .setChildGravity(Gravity.CENTER_VERTICAL)
        //是否可以滚动. TRUE by default
        .setScrollingEnabled(true)
        //在特定行中设置最大视图计数
        .setMaxViewsInRow(10)
        //设置重力解算器,在这里你可以确定物体的重力位置。这个方法比前一个方法有优先权
        .setGravityResolver(new IChildGravityResolver() {
            @Override
            public int getItemGravity(int position) {
                return Gravity.RIGHT;
            }
        })
        //由于您的条件,您可以中断行。对于那个视图,行断路器应该返回true
        .setRowBreaker(new IRowBreaker() {
            @Override
            public boolean isItemBreakRow(@IntRange(from = 0) int position) {
                //意思是在 position == 3 或 position == 7的时候,
                // 该行结束,直接换到下一行,可以理解为回车
                return position == 3 || position == 7;
            }
        })
        //布局管理器的layoutOrientation,可以是垂直的,也可以是水平的。在默认情况下水平
        .setOrientation(ChipsLayoutManager.HORIZONTAL)
        // 对于已完成行中的视图的行策略可以是
        //STRATEGY_DEFAULT 左对齐,右边置空
        //STRATEGY_FILL_VIEW 填满整个RecyclerView剩余控件
        //STRATEGY_FILL_SPACE 两边对齐,中间置空
        //STRATEGY_CENTER //中间对齐,两边置空
        .setRowStrategy(ChipsLayoutManager.STRATEGY_DEFAULT)
        // 是否对最后一行应用策略。默认false
        .withLastRow(false)
        .build();
    

    别的还好理解,重力解析器这块没看出来效果,所以没有具体备注。

      //其实默认设置以及够用了
     ChipsLayoutManager.newBuilder(this).build()
    

    3、为RecyclerView设置LayoutManager

    mBinding.rvAllTag.setLayoutManager(chipsLayoutManager);
    

    \color{red}{注意:RecyclerView高度不确定时慎用,测试时发现部分标签没有显示出来}

       android:layout_height="wrap_content"
    

    相关文章

      网友评论

          本文标题:流式布局 ChipsLayoutManager

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