如何在GridLayoutManager中准备setSpanSizeLookup [英] How to prepare setSpanSizeLookup in GridLayoutManager

查看:130
本文介绍了如何在GridLayoutManager中准备setSpanSizeLookup的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在网格布局管理器中,我需要每18,36,54,... 18 * Nth ...个网格布局为width:match parent和height:60dp的页面进行分页加载.

i need every 18,36,54,...18*Nth... grid with layout with width:match parent and height:60dp in grid layout manager for pagination loadingbar purpose.

这是我的代码,

 GridLayoutManager mng_layout = new GridLayoutManager(this, 4);//WHAT IS 4 ?//
            mng_layout.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
                @Override
                public int getSpanSize(int position) {
                    int mod = position % 6;   //WHAT IS 6 ?//
    
                    if (position == 0 || position == 1)
                        return 2;    //WHAT IS 2 ?//
                    else if (position < 6)
                        return 1;   //WHAT IS 1 ?//
                    else if (mod == 0 || mod == 1)
                        return 2;   //WHAT IS 2 ?//
                    else
                        return 1;   //WHAT IS 1 ?//
                }
            }); 

如果有时间请在代码中解释注释行

if anybody have a time please explain commented line in code

推荐答案

跨度大小意味着该项目占用了网格中的多少个单元格

Span size means that this items take how many cells from the grid

public int getSpanSize(int position) {
                int mod = position % 6;   //here 18%6=0 ,19%6=1 ,36%6=0 ,37%6=1 and so one    
                if (position == 0 || position == 1)
                    return 2;    // if this is the first or sesond items make it take span size of 2 so 4/2 =2 cells will be shows
                else if (position < 6)
                    return 1;   // here 2,3,4,5 < 6 so every item should take span size 1 out of 4 , so we have 4 cells 
                else if (mod == 0 || mod == 1)
                    return 2;   // here we check the mode which is defined above 18,19 & 36,37 ,54,55 and so on every pair will span 2 cells for every number 
                else
                    return 1;   // any thing other like  will take one span out of 4 grid columns 
            }
        }

您可以查看此教程

这篇关于如何在GridLayoutManager中准备setSpanSizeLookup的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆