android系统控件Android开发技术干货

GridLayoutManager setSpanSizeLoo

2017-04-24  本文已影响904人  谁帮我起个名字

需求 实现一个前两列和后几列宽度不同的表格

// 代码实现
GridLayoutManager manager = new GridLayoutManager(this, 14);
    manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
        @Override
        public int getSpanSize(int position) {
            if (position % 6 == 0 || position % 6 == 1) {
                return 3;
            } else {
                return 2;
            }
        }
    });

setSpanSizeLookup 作用:一个item的跨度,也就是这个item占用了几份
上面代码中,实现了一个6列表格,前两行宽度,和后四行的宽度比为3:2
也就是说,表格中从左到右,每个item的宽度比是:

3:3:2:2:2:2

所以,我们初始化的时候,new GridLayoutManager(this, 14);将RecyclerView定义14列,

new GridLayoutManager(this, 14);

if (position % 6 == 0 || position % 6 == 1) {
    return 3;
} else {
    return 2;
}

其中,上面代码实现了,前两列的item,总共占用recyclerview中14份中的3份,而后4列,每个item占用2份。

实现效果图

表格.jpg

(ps:手动画的表格,比例不是太精确,忘见谅 _

上一篇下一篇

猜你喜欢

热点阅读