RecyclerView在网格布局或者瀑布流布局下,如果要设置间距,可以使用ItemDecoration。

下面的代码是设置显示两列数据RecyclerView的情况。

cat.png

@Override

public void getItemOffsets(@NonNull Rect outRect, @NonNull View view, @NonNull RecyclerView parent, @NonNull RecyclerView.State state) {

super.getItemOffsets(outRect, view, parent, state);

//设置上下间距

if (isFirstRaw(parent.getChildAdapterPosition(view))) {

outRect.top = space;

} else {

outRect.bottom = space;

}

//判断左右列,方法1

//设置列间距

if (parent.getChildAdapterPosition(view) % 2 == 0) {

//左列

outRect.right = space / 2;

} else {

//右列

outRect.left = space / 2;

}

//判断左右列,方法2(推荐)

// GridLayoutManager.LayoutParams params = ((GridLayoutManager.LayoutParams) view.getLayoutParams());

// if (params.getSpanIndex() != GridLayoutManager.LayoutParams.INVALID_SPAN_ID) {

// //getSpanIndex方法不管控件高度如何,始终都是左右左右返回index

// if (params.getSpanIndex() % 2 == 0) {

// //左列

// outRect.right = space / 2;

// } else {

// //右列

// outRect.left = space / 2;

// }

// }

}

给了2种方法,第一种方法在网格布局还好,如果在瀑布流布局里,假设图3在左列长图可能过长,所以接下来的图4、图5都可能显示在右列,方法1计算的结果就有问题了。

如果对你有帮助的话,点赞、评论、赞赏都是对我的鼓励,也是支持我写下去的动力,谢谢!

android网格布局间隙,RecyclerView网格布局瀑布流布局设置间距相关推荐

  1. html瀑布流布局是什么,瀑布流布局图片与css多种实现思路剖析

    一.什么是瀑布流布局 瀑布流布局在当下前端网页设计中越来越流行,主要表现形式为上下高度参差不齐的多行布局,往往图片各异大小不等却能够自动适应排成一排按行进行展示,滚动条下拉还不会不断地自动适应加载数据 ...

  2. Android RecyclerView网格布局动画

    In this tutorial, we'll learn how to create animation for a RecyclerView in which elements are displ ...

  3. HTML瀑布流布局实现网易LOFTER——masonry响应式网格布局库(非jQuery)

    HTML瀑布流布局--masonry响应式网格布局库(非jQuery) 瀑布流布局是流式布局的一种.是当下比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会 ...

  4. android 05 桢布局:FrameLayout 网格布据 GridLayout

    xml文件: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:l ...

  5. android网格布局间距,Android布局之GridLayout网格布局

    网格布局标签是GridLayout.这个布局是android4.0新增的布局.这个布局只有4.0之后的版本才能使用. 不过新增了一些东东 ①跟LinearLayout(线性布局)一样,他可以设置容器中 ...

  6. Android应用开发之GridLayout(网格布局)

    GridLayout 网格布局是Android 4.0以后引入的一个新的布局. 它和前面所学的TableLayout(表格布局) 有点类似,不过有很多前者没有的东西,也更加好用. 特点: 可以自己设置 ...

  7. Android Studio App开发之循环试图RecyclerView,布局管理器LayoutManager、动态更新循环视图讲解及实战(附源码)

    运行有问题或需要全部源码请点赞关注收藏后评论区留言~~~ 一.循环视图RecyclerView 尽管ListView和GridView分别实现了多行单列和多行多列的列表,使用也很简单,可是它们缺少变化 ...

  8. div布局、table布局、flex布局、多列布局、网格布局 示例

    目录 基础代码 demo.html css/common.css div实用布局示例 代码 效果图 table布局 代码 效果图 flex布局 代码 效果图 多列布局 代码 效果图 网格布局 代码 效 ...

  9. HTML+CSS_第三部分(Flex弹性盒子布局、grid网格布局、移动端、移动端流式布局、移动端rem布局、响应式布局、Bootstrap框架)

    文章目录 (1)Flex弹性盒子布局 一: 父容器上的属性 1. display:flex 设置为弹性盒子(写在父容器上) 2.flex-direction值 设置子项的布局方向(写在父容器上) 3. ...

最新文章

  1. Coding4Fun Toolkit支持本地化解决办法
  2. C++设计模式之抽象工厂模式
  3. oracle学习笔记一:用户管理(2)创建删除用户
  4. 编程通用知识 乘法除法位移
  5. 女孩子适合学习前端开发吗?
  6. sql注入利用_SQL注入:这是什么? 原因和利用
  7. 大厂技术文档:Python 基础+爬虫+数据分析+面试经精选
  8. C# 与 C++ 数据类型对照
  9. TensorFlow变量:创建、初始化、保存和加载
  10. javascript 基础之手机端相关事件-touch(详细篇)(1)
  11. 28.java中Java8.0的新特性(附讲解和练习)
  12. 我的十大期望,已经过去五年了,我看看还需要多少年
  13. 什么是全景(360全景、720全景、VR全景)?
  14. zencart的html文件,zencart模板 哪儿有zencart免费模版?
  15. 在vue中将数据导出为excel文件file-saver+xlsx+script-loader
  16. 【程序人生】春满人间
  17. 大连大学计算机科学与技术研究生毕业工资,大学研究生毕业的你,现在一个月的月薪多少?现实让人想哭!...
  18. NO.2 微信第三方平台(小程序)授权流程技术说明
  19. 小程序开发入门常见小问题-(1)
  20. 电脑关闭休眠模式清理 C盘内存

热门文章

  1. 使用java的API编写代码
  2. 软件测试工作一周的感触
  3. C语言培训宣传语,C语言培训—11.20
  4. 软件开发免费的画图工具draw.io
  5. 停车场管理c语言课程设计,数据结构课程设计-停车场管理
  6. python自动化(三):selenium微博抢票(含抢票程序设计思路)
  7. 网站服务器控制空调开关,手机遥控美的空调怎么用?手机遥控开关的应用范围?...
  8. Dos获取硬盘信息的一些命令
  9. IDCardReader-身份证信息写入Excel模板
  10. 使用 QEMU/KVM 模拟 ARM64