Android中Recycler网格布局管理器GridLayoutManager用法

2023-11-12

使用RecyclerView可以制作出类似GridView的样式,但比GridView更加强大。这里我们就介绍一下RecyclerView和GridLayoutManager结和的用法。

1.GridLayoutManager常用方法

  • 构造函数:可指定网格的列数。
  • setSpanCount:设置网格的列数。
  • setSpanSizeLookup:设置列表项的占位规则。默认一项占一列,如果想某项占多列,就可以在此设置占位规则,即由GridLayoutManager.SpanSizeLookup派生具体的实现类。

2.网格布局示例代码

//初始化控件
recycler = findViewById(R.id.recycler);
//创建一个垂直方向的网格布局管理器
GridLayoutManager manager = new GridLayoutManager(this,4);
//设置循环视图的布局管理器
recycler.setLayoutManager(manager);
//设置item增加和删除时的动画
recycler.setItemAnimator(new DefaultItemAnimator());
recycler.addItemDecoration(new SpacesItemDecoration(1));
HomeAdapter mAdapter = new HomeAdapter(this);
recycler.setAdapter(mAdapter);

3.占位应用示例代码

//初始化控件
recycler = findViewById(R.id.recycler);
//创建一个垂直方向的网格布局管理器
GridLayoutManager manager = new GridLayoutManager(this,4);
//设置网格布局管理器的占位规则
//以下占位规则的意思是,第一项和第二项占两列,其他占一列。
//如果网格的列数为4,那么第一项和第二项平分一行,第二行开始每行有四项
manager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() {
    @Override
    public int getSpanSize(int position) {
        if (position % 6 == 0 || position % 6 == 1){
            return 2;
        }else{
            return 1;
        }
    }
});
//设置循环视图的布局管理器
recycler.setLayoutManager(manager);
//设置item增加和删除时的动画
recycler.setItemAnimator(new DefaultItemAnimator());
recycler.addItemDecoration(new SpacesItemDecoration(1));
HomeAdapter mAdapter = new HomeAdapter(this);
recycler.setAdapter(mAdapter);

这样就可以一行是有2项,一行有4项,交替出现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android中Recycler网格布局管理器GridLayoutManager用法 的相关文章

  • 若依源码解析:代码生成ruoyi-generator

    文章目录 摘要 代码生成器的使用 数据库连接配置 数据库表设计 代码生成器配置 修改mybatis别名配置 增加对com cyl包名的识别 修改mybatis的mapper扫描包路径 代码生成 代码输出 模板配置 代码生成器原理 模板引擎
  • sentinel源码流程图

    最近上海刮台风 在家画了sentinel的源码流程图 如有不对请指出 如需转载请标明出处
  • Java 数据库连接池、线程池和对象池总结

    一 Java数据库连接池总结 数据库连接池的实现及原理 内容摘要 对于一个复杂的数据库应用 频繁的建立 关闭连接 会极大的减低系统的性能 因为对于连接的使用成了系统性能的瓶颈 有一个很著名的设计模式 资源池 该模式正是为了解决资源频繁分配
  • IDEA的下载安装及配置Tomcat

    IDEA的下载安装及配置tomcat 1 首先是下载及安装 IDEA的官方网站提供了两种安装包 一种是旗舰版 既Ultimate版和Community版 如上图 左边是旗舰版的 需要付费 但是可以破解 右边是社区版 是免费的 但是提供的功能
  • Merge sort(归并排序) -- 分治

    基本思路 确定分界点 mid l r 2 递归排序left right 将步骤2中排序好的left right数组进行归并 合二为一 C 代码实现 void merge sort int q int l int r if l gt r re
  • SQL-lab 38~53

    less38 本关卡为堆叠注入 注入语句为 id 1 CREATE DATABASE sq default charset utf8 查询用户名和密码 并创建数据库 数据库创建成功 说明两条语句都执行了 less39 45关 这几关与上一关
  • 第一次动手构建 Linux 内核

    目录 背景 机器参数 参考链接 操作流程 步骤1 下载 Linux 内核源码 步骤 2 解压源码 步骤 3 下载所需软件包 步骤 4 内核配置 步骤 5 开始构建 步骤 5 1 make 步骤 5 2 make INSTALL MOD ST
  • 多线程作业及答案

    多线程作业 一 填空题 1 处于运行状态的线程在某些情况下 如执行了sleep 睡眠 方法 或等待I O设备等资源 将让出CPU并暂时停止自己的运行 进入 状态 2 处于新建状态的线程被启动后 将进入线程队列排队等待CPU 此时它已具备了运
  • myeclipse无法打开工作空间

    现象 打开myeclipse工作空间时进度条不动 解决方式 找到工作空间的文件目录 如 D work 打开D work metadata plugins org eclipse core resources projects 目录 查找近期
  • Mysql入门到精通-快速插入1000万条数据(转)

    创建MyISAM模式表方便批量跑数据 CREATE TABLE logs1 id int 11 NOT NULL AUTO INCREMENT logtype varchar 255 DEFAULT NULL logurl varchar
  • SIFT解析(二)特征点位置确定

    最近微博上有人发起投票那篇论文是自己最受益匪浅的论文 不少人说是lowe的这篇介绍SIFT的论文 确实 在图像特征识别领域 SIFT的出现是具有重大意义的 SIFT特征以其稳定的存在 较高的区分度推进了诸多领域的发展 比如识别和配准 上一篇
  • 3月打卡活动第20天 面试题第40题:最小的k个数(简单)

    3月打卡活动第20天 面试题第40题 最小的k个数 简单 题目 输入整数数组 arr 找出其中最小的 k 个数 例如 输入4 5 1 6 2 7 3 8这8个数字 则最小的4个数字是1 2 3 4 解题思路 排序 取前k个值 class S
  • 常用人体模型关节索引

    SMPL 24 joints Cocoplus 19 joints 0 RAnkle 1 RKnee 2 RHip 3 LHip 4 LKnee 5 LAnkle 6 RWrist 7 RElbow 8 RShoulder 9 LShoul
  • 程序员们最恐惧的“代码”,一见就头疼,是老前辈留下来的代码!

    t行业是目前最赚钱的行业 程序员是目前最赚钱的职业之一 也是最容易过劳死的职业之一 虽然程序员们工资都很高 有的还会赚年薪 但是他们的工作真的是非常辛苦 因为程序员经常会熬夜写代码 在电脑前工作 他们脱发秃头的几率也非常高 由于程序员经常在
  • poco源码简单分析

    自动化工具poco源码简单分析 Airtest简介 Airtest是网易游戏开源的一款UI自动化测试项目 目前处于公开测试阶段 该项目分为AirtestIDE Airtest Poco Testlab四个部分 基于python脚本的方式 用
  • 【公告】博客专家 6 月发布原创/翻译文章奖励

    博客专家6月发布原创 翻译文章奖励 CSDN ID 所获奖励 malefactor 图灵社区技术图书 程序员杂志最新期刊 C币100 lmj623565791 图灵社区技术图书 程序员杂志最新期刊 C币100 jiangwei0910410
  • python TypeError: missing 1 required positional argument:'self'

    Python 调用类的函数时报错如下 TypeError seperate data missing 1 required positional argument self 报错原因 train data test data DataCle
  • 对spark dataframe join之后的列值NULL值进行填充为指定数值的操作

    众所周知 两个数据集如A B取JOIN操作的时候 其结果往往会出现NULL值的出现 这种情况是非常不利于后续的分析与计算的 特别是当涉及到对这个数值列进行各种聚合函数计算的时候 针对这种问题 当然从最简单的dataframe map来处理是

随机推荐

  • QThreadPool线程池的原理与使用

    一 为什么需要用线程池 现在所有的高性能服务器程序 几乎都会使用到线程池技术 从而更好且有效的榨干服务器性能 1 开多少个线程可以达到性能最佳 不知道 你有没有这个疑问 这是一种常见的线程使用方式 class MyThread public
  • list集合(接口)

    list集合 显而易见是用来存储数据的 可以把它看作是长度可变的数组 它是有序存储数据的 具有跟数组一样的索引 ArrayList LinkedList Vector Stack都是list接口的实现类 以ArrayList为例说明list
  • 1033 旧键盘打字 (20 分)

    题目 旧键盘上坏了几个键 于是在敲一段文字的时候 对应的字符就不会出现 现在给出应该输入的一段文字 以及坏掉的那些键 打出的结果文字会是怎样 输入格式 输入在 2 行中分别给出坏掉的那些键 以及应该输入的文字 其中对应英文字母的坏键以大写给
  • 基于Redis的BitMap实现签到、连续签到统计(含源码)

    微信公众号访问地址 基于Redis的BitMap实现签到 连续签到统计 含源码 推荐文章 1 springBoot对接kafka 批量 并发 异步获取消息 并动态 批量插入库表 2 SpringBoot用线程池ThreadPoolTaskE
  • mysql日期转换

    1 MySQL中和日期相关的函数 1 1 DATE FORMAT date format 主要用来将日期格式化函数 举例 SELECT DATE FORMAT NOW Y m d 1 2 STR TO DATE str format 主要用
  • 分析pandas的数据,分析某一列数据的长度分布等等

    分析数据 如分析sku的长度 import pandas as pd import numpy as np data file data data zh sku 80k csv 待分析的文件 def ana len file key Non
  • AI绘画:StableDiffusion实操教程-斗破苍穹-云韵-常服(附高清图下载)

    前段时间我分享了StableDiffusion的非常完整的教程 AI绘画 Stable Diffusion 终极宝典 从入门到精通 不久前 我与大家分享了StableDiffusion的全面教程 AI绘画 Stable Diffusion
  • HITICS-2018大作业 hello的一生

    摘 要 本论文详细介绍了hello程序在linux系统中从生成源代码到成功运行完毕被系统回收的整个过程 按照执行的先后顺序模块化介绍了hello c在计算机内部是系统具体执行了什么指令 如何执行的 用到了哪些知识等 本论文参考CSAPP课本
  • linux(centos) 保存退出vi编辑

    保存命令 按ESC键 跳到命令模式 然后 w 保存文件但不退出vi w file 将修改另外保存到file中 不退出vi w 强制保存 不推出vi wq 保存文件并退出vi wq 强制保存文件 并退出vi q 不保存文件 退出vi q 不保
  • Oracle存储过程获取入参出参(顺序,名字,类型,入参/出参)

    调用SQL语句 PROCEDURE NAME为过程名 自行替换要查询的过程名 POS为参数位置 NAME为参数名 TYPE为参数类型 IN OUT为入参 出参 SELECT A POSITION POS A ARGUMENT NAME NA
  • ABB 120 六轴机械手臂编程调试(三)

    下一步进行机械手臂的程序编写 程序只是进行简单的点位运动 实现抓取功能 程序控制的点位表 输入点位 点位描述 输出点位 点位描述 DI5 夹取完成 DO5 夹取物料 DI6 放料完成 DO6 放下物料 DI7 回原点 DO7 设备就绪 DI
  • Python练习——基础练习题2

    因为控制台会让不断输入 索性就把input放到注释里了 这一片主要练习if判断和while循环 初级 判断下列语句的打印结果 1 print True and True or True 2 print True and True or Fa
  • 因果图分析法例子

    某软件规格说明书包含这样的要求 第一列字符必须是A或B 第二列字符必须是一个数字 在此情况下进行文件的修改 但如果第一列字符不正确 则给出信息L 如果第二列字符不是数字 则给出信息M 解答 1 根据需求 分析出原因和结果如下 原因 1 第一
  • smbms(超市管理系统)源码 + 分析

    在项目开始之前 我们首先要对项目的整体架构分析一下 该项目一共分为四个模块 登录注销 用户管理 订单管理 供应商管理 其中用户管理 订单管理以及供应商管理都是需要对数据库进行crud的 项目的整体架构图如下 1 前期准备 1 项目架构 2
  • Android中Activity跳转到具体的Fragment的方法

    1 首先在需要跳转的Activity写此代码 Intent intent new Intent from MainActivity class intent addFlags Intent FLAG ACTIVITY SINGLE TOP
  • 理解Android上下文Context

    Context使用场景总的来说分为两大类 使用Context调用方法 比如启动Activity 访问资源 调用系统级服务等 调用方法时传入Context 比如弹出Toast 创建Dialog等 Activity Service和Applic
  • 安装snownlp报错 error: subprocess-exited-with-error

    安装snownlp报错error subprocess exited with error 解决方案重新安装importlib metadata pip uninstall importlib metadata pip install im
  • Zabbix监控平台部署实验——自定义zabbix监控项目

    Zabbix系列文章目录 第一章 Zabbix5 0版本的安装教程 第二章 Zabbix监控平台部署实验 自定义zabbix监控项目 目录 Zabbix系列文章目录 前言 二 操作步骤 1 安装配置环境 2 授权zabbix server可
  • STM32HAL库的基本使用(1)- GPIO引脚配置

    前言 作者使用的是STM32L431RCT的开发板 Cortex M4的内核 是大学老师教学用的 原理图如下 原理图下载链接 https pan baidu com s 1c8WFBO9bPxarzaOKqDrl0Q pwd 6666 提取
  • Android中Recycler网格布局管理器GridLayoutManager用法

    使用RecyclerView可以制作出类似GridView的样式 但比GridView更加强大 这里我们就介绍一下RecyclerView和GridLayoutManager结和的用法 1 GridLayoutManager常用方法 构造函