• Stars
    star
    675
  • Rank 66,879 (Top 2 %)
  • Language
    Java
  • Created over 7 years ago
  • Updated almost 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

快速利用RecyclerView的LayoutManager搭建流式布局

说真的自从对RecyclerViewLayoutManager有新的认识后,完全不用担心很多的复杂布局了。而且对ViewGroup测量过程也不用担心了,因为里面有LayoutManager帮我们实现了。下面就进入该篇文章的主题吧,废话不多说,直接上图更有说服力。

           

上面的示例图是我把ItemView分别用了TextViewImageView。其实这些是没什么好说的,主要是如何定义这样的LayoutManager。相信大家都用过了LinearLayoutManager吧,系统提供的LayoutManager都是对齐的方式进行排版的,我们这里的flow的样式就是在排版item之前,判断了该行多余的空间还够不够显示,如果不够直接换行显示的思路。

使用:

详见TextFlowActivityDiffHeightTextFlowActivityPhotoFlowActivity

RecyclerView recyclerView = (RecyclerView) findViewById(R.id.flow);
FlowLayoutManager flowLayoutManager = new FlowLayoutManager();
//设置每一个item间距
recyclerView.addItemDecoration(new SpaceItemDecoration(dp2px(10)));
recyclerView.setLayoutManager(flowLayoutManager);
recyclerView.setAdapter(new FlowAdapter());

RV嵌套RV高度问题:

NestedRecyclerView recyclerView = (NestedRecyclerView) findViewById(R.id.flow);
FlowLayoutManager flowLayoutManager = new FlowLayoutManager(context);
//设置每一个item间距
recyclerView.addItemDecoration(new SpaceItemDecoration(dp2px(10)));
recyclerView.setLayoutManager(flowLayoutManager);
recyclerView.setAdapter(new FlowAdapter());

常见商品属性界面:

商品属性界面.gif

使用:见ProductActivity

常见悬浮商品属性界面:

商品属性界面.gif

使用:见SuspensionProductActivity

动画修复:

动画修复.gif

使用:见TextFlowActivity

viewpager中流式布局应用:

viewpager中流式布局.gif

使用:见ViewPagerActivity

常见长点击删除流式布局界面:

长点击删除界面.gif

  • 长点击删除图片问题

长点击显示删除图片界面.gif

使用:见LongClickDeleteTextFlowActivity

1.1版本:

修复重复操作数据问题

1.2版本:

修复重复操作数据错位以及暴露内容高度

1.3版本:

修复中间添加数据时错位问题

1.4版本:

修复动画问题

1.5版本:

添加RV嵌套RV时wrap_content不显示问题

1.6版本:

解决某些机型在wrap_content不显示问题

1.7版本:

修复清空数据滑动页面还在显示的问题

gradle依赖:

allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	}
}

dependencies {
        compile 'com.github.1002326270xc:LayoutManager-FlowLayout:v1.8'
}

demo第一时间体验:

欢迎大家提出问题,留言板留言或邮箱直接联系我。我会第一时间测试相关的bug

欢迎客官到本店光临(qq群):

您的鼓励就是给作者最大的支持,或是请我喝杯咖啡也行,哈哈哈~~~

关于我:

email: [email protected]

简书: http://www.jianshu.com/users/7b186b7247c1/latest_articles

csdn: http://blog.csdn.net/u010429219/article/details/64915136

More Repositories

1

OfoMenuView-master

苹果版小黄车(ofo)app主页菜单效果
Java
81
star
2

360Downloading-master

一个仿360手机助手下载按钮
Java
74
star
3

DoubleSimCard-master

双卡信息的获取(以及当前网络的获取)
Java
39
star
4

ChuShouView-master

RecyclerView+LayoutManager+ItemTouchHelper.Callback实现触手app主页的效果
Java
32
star
5

BlankView

自定义选词填空view
Java
28
star
6

FlowView-master

实现ViewGroup规定行数、item居中的流式布局
Java
17
star
7

BatteryView

一个模拟电量显示的view
Java
17
star
8

Marquee3DView-master

一款不错的3D版翻页公告
Java
15
star
9

AmountView-master

银行类app额度view
Java
14
star
10

LinkedSwitch

带有联动菜单的android控件
Java
9
star
11

NumberEditText

带有数字监听的EditText
Java
8
star
12

CircleProgress

一个值得拥有的进度条
Java
7
star
13

MultiSelectView-master

用于展示多重数据的view
Java
6
star
14

MoreTextView

带有展开缩放功能的TextView
Java
5
star
15

ArouterApp

路由示例
Kotlin
3
star
16

BeeLoadingView

一个带有蜂窝效果的Loading
Java
2
star
17

Android_Demos

演示一些demo
Java
2
star
18

LeetCode

LeetCode上常用的题目
Java
1
star
19

ThinkDemo

java编程思想的例子
Java
1
star
20

MyMuPdf_demo

mupdf框架适配
Java
1
star
21

AndroidDatabindingSimple

主要用来巩固android_databinding框架
Java
1
star
22

jetpack_kotlin_demo

用kotlin语言打造的jetpack例子
Kotlin
1
star
23

BreatheLogin

一个带呼吸灯式的提示
Java
1
star
24

BeeBitmapLoadingView

一个带有图片蜂窝的loading
Java
1
star
25

CoordinatorLayoutDemo

用来展示CoordinatorLayout的功能
Java
1
star
26

MvvM-master

基于LiveData+dagger2+room+RxJava+Retrofit+dataBinding打造MvvM框架
Java
1
star
27

MonthView

手写一个日历,方便大家使用,后期会不断地增加内容。
Java
1
star
28

WarningEditText

一个不错的带有动态提示的输入框
Java
1
star
29

ChangeStyle

this is a app demo for change the app style
Java
1
star