FormLayoutManager首页,里面有github地址
目录
前言
FormLayoutManager的首篇博客有说到,FormLayoutManager实现的表格,那个RecyclerView是可以全方位滚动的,有点像图片PhotoView那样可以拖来拖去。而以前HorizontalScrollView嵌套Recyclerview来实现表格,它的交互效果是,当你进行一个方向滚动的时候,除非把手指松开,要不不能改变滚动方向。比如你对表格正在进行水平滚动,只要你的手指不松开,即使你上下滑,表格也不会上下滚。
所以这篇文章就是讲解万一你的产品希望你的表格跟以前一样的滚动交互,你要怎么实现。
HVSingleRecylerView
其实非常简单,只要在布局文件的RecyclerView替换成HVSingleRecyclerView,就大功告成了。所以下面主要就是说HVSingleRecyclerView主要做了什么。
思路
思路挺明确,就是截取RecyclerView的触摸事件,当用户滑动的X距离比Y距离大的时候,我们认为他是在做水平滑动,否则认为他在做垂直滑动,这是配置一下FormLayoutManager,让用户只能在对应方向滑动。而当用户松开手指的时候,就把一些状态还原。
代码
看一下HVSingleRecyclerView