android 自动换行FlowLayout

本文介绍了如何实现一个自定义的Android FlowLayout,支持自动换行功能。通过继承ViewGroup,实现对子View的布局,并采用Adapter模式和观察者模式。详细讲解了FlowAdapter、FlowDataSetObserver的实现,以及FlowLayout的onMeasure和onLayout方法的关键代码。此外,还提到了自定义XML属性以实现代码提示。
摘要由CSDN通过智能技术生成

ios 自动换行FlowLayout


最近产品需要实现自动换行功能,在gitHub看了一下,虽然有不少,但都有那么一点不满足需求的,或者感觉用着不方便的。所以干脆自己写了一份,顺便有时间写了一份ios的版本,有兴趣的可点击上面链接。


在这里先提供下载地址:https://github.com/lanqi-x/flowLayout

然后来个图先:



实现概要思路为1、继承ViewGroup,实现对子view进行布局,不进行其他处理,不跟业务挂钩,以保证其灵活性。2、支持adapter方式,仿recycleview的adapter,使用观察者模式。(需要注意的是,1该控件并未实现子view的复用,2不建议同时使用adapter和自己在代码中直接调用addView)

实现该控件,我写了三个类,分别为FlowLayout、FlowAdapter和FlowDataSetObserver,这里按照简易度,简单的介绍下。(如想只看FlowLayout的实现可点击这里


1、FlowDataSetObserver

先贴下代码:

    public void onChanged() {
        // Do nothing
    }

    public void onItemRangeChanged(int positionStart, int itemCount) {
        // do nothing
    }

    public void onItemRangeInserted(int positionStart, int itemCount) {
        // do nothing
    }

    public void onItemRangeRemoved(int
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值