控制RecyclerView Item的宽度

自从Android中引入RecyclerView之后,它就逐步的替换掉了ListView和GridView。本文很简单,行文目的是记录和备忘。如果能帮到你,那再好不过了。

关于控制RecyclerView item的宽度,说起来还不是那么清晰,上一张图,就明白了。

  • 上面的实际上是一个Grid布局
  • 前三行每个item均分RecyclerView的宽度
  • 最后一行的Others占大概三分之一,而Flipboard则占据了三分之二。

上面的图和描述就是我们今天想要实现的效果。

方法很简单,主要使用了GridLayoutManager的setSpanSizeLookup方法

1 2 3 4 5 6 7 8 9 10 11

mLayoutManager = new GridLayoutManager(this, 3); mLayoutManager.setSpanSizeLookup(new GridLayoutManager.SpanSizeLookup() { @Override public int getSpanSize(int position) { if (position == mAdapter.getItemCount() - 1) { return 2; } else { return 1; } } });

  • GridLayoutManager构造方法中传入了一个spanCount,这里值为3
  • getSpanSize方法中,最后一个item占据2个span,其他占据一个span

完整示例源码

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏iOSer成长记录

MJRefresh 源码阅读

29320
来自专栏前端vue

SimpleMDE - Vue-Markdown编辑器

51520
来自专栏Android Note

Android上的自定义字体 - 通过XML进行动态字体选择

14260
来自专栏谈补锅

工作中碰到的js问题(disabled表单元素不能提交到服务器)

今天碰到一个奇葩的问题,asp页面表单提交后,有一个文本框<input type="text" name="phone" id="phone" />在后台获取不...

16720
来自专栏移动开发面面观

React Native的列表显示

16540
来自专栏AndroidTv

View 动画 Animation 运行原理解析

这次想来梳理一下 View 动画也就是补间动画(ScaleAnimation, AlphaAnimation, TranslationAnimation...)...

41150
来自专栏程序员叨叨叨

Android大坑集锦

这些方法有的可以,有的不行,或许跟版本有关,或许Android本身不是很支持用setImageUri从网上获取图片吧!与其煞费苦心让这个方法有效,不如用Imag...

9140
来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统(57)-插件---ueditor使用

目录: 前言 开发环境 知识点 初始使用 自定义工具栏 设置和读取编辑器内容 文件上传 ueditor加水印 -------------------------...

38050
来自专栏Android源码框架分析

理解Android硬件加速原理的小白文

硬件加速,直观上说就是依赖GPU实现图形绘制加速,软硬件加速的区别主要是图形的绘制究竟是GPU来处理还是CPU,如果是GPU,就认为是硬件加速绘制,反之,软件绘...

32740
来自专栏程序员维他命

MJRefresh 源码解析

MJRefresh是李明杰老师的作品,到现在已经有1w+颗star了,是一个简单实用,功能强大的iOS下拉刷新(也支持上拉加载更多)控件。它的可定制性很高,几乎...

19820

扫码关注云+社区

领取腾讯云代金券