android网格布局间隙,RecyclerView网格布局瀑布流布局设置间距
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网格布局瀑布流布局设置间距相关推荐
- html瀑布流布局是什么,瀑布流布局图片与css多种实现思路剖析
一.什么是瀑布流布局 瀑布流布局在当下前端网页设计中越来越流行,主要表现形式为上下高度参差不齐的多行布局,往往图片各异大小不等却能够自动适应排成一排按行进行展示,滚动条下拉还不会不断地自动适应加载数据 ...
- Android RecyclerView网格布局动画
In this tutorial, we'll learn how to create animation for a RecyclerView in which elements are displ ...
- HTML瀑布流布局实现网易LOFTER——masonry响应式网格布局库(非jQuery)
HTML瀑布流布局--masonry响应式网格布局库(非jQuery) 瀑布流布局是流式布局的一种.是当下比较流行的一种网站页面布局,视觉表现为参差不齐的多栏布局,随着页面滚动条向下滚动,这种布局还会 ...
- android 05 桢布局:FrameLayout 网格布据 GridLayout
xml文件: <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"android:l ...
- android网格布局间距,Android布局之GridLayout网格布局
网格布局标签是GridLayout.这个布局是android4.0新增的布局.这个布局只有4.0之后的版本才能使用. 不过新增了一些东东 ①跟LinearLayout(线性布局)一样,他可以设置容器中 ...
- Android应用开发之GridLayout(网格布局)
GridLayout 网格布局是Android 4.0以后引入的一个新的布局. 它和前面所学的TableLayout(表格布局) 有点类似,不过有很多前者没有的东西,也更加好用. 特点: 可以自己设置 ...
- Android Studio App开发之循环试图RecyclerView,布局管理器LayoutManager、动态更新循环视图讲解及实战(附源码)
运行有问题或需要全部源码请点赞关注收藏后评论区留言~~~ 一.循环视图RecyclerView 尽管ListView和GridView分别实现了多行单列和多行多列的列表,使用也很简单,可是它们缺少变化 ...
- div布局、table布局、flex布局、多列布局、网格布局 示例
目录 基础代码 demo.html css/common.css div实用布局示例 代码 效果图 table布局 代码 效果图 flex布局 代码 效果图 多列布局 代码 效果图 网格布局 代码 效 ...
- HTML+CSS_第三部分(Flex弹性盒子布局、grid网格布局、移动端、移动端流式布局、移动端rem布局、响应式布局、Bootstrap框架)
文章目录 (1)Flex弹性盒子布局 一: 父容器上的属性 1. display:flex 设置为弹性盒子(写在父容器上) 2.flex-direction值 设置子项的布局方向(写在父容器上) 3. ...
最新文章
- Coding4Fun Toolkit支持本地化解决办法
- C++设计模式之抽象工厂模式
- oracle学习笔记一:用户管理(2)创建删除用户
- 编程通用知识 乘法除法位移
- 女孩子适合学习前端开发吗?
- sql注入利用_SQL注入:这是什么? 原因和利用
- 大厂技术文档:Python 基础+爬虫+数据分析+面试经精选
- C# 与 C++ 数据类型对照
- TensorFlow变量:创建、初始化、保存和加载
- javascript 基础之手机端相关事件-touch(详细篇)(1)
- 28.java中Java8.0的新特性(附讲解和练习)
- 我的十大期望,已经过去五年了,我看看还需要多少年
- 什么是全景(360全景、720全景、VR全景)?
- zencart的html文件,zencart模板 哪儿有zencart免费模版?
- 在vue中将数据导出为excel文件file-saver+xlsx+script-loader
- 【程序人生】春满人间
- 大连大学计算机科学与技术研究生毕业工资,大学研究生毕业的你,现在一个月的月薪多少?现实让人想哭!...
- NO.2 微信第三方平台(小程序)授权流程技术说明
- 小程序开发入门常见小问题-(1)
- 电脑关闭休眠模式清理 C盘内存