使用recyclerview实现iOS photo应用中moments的动画交互效果
实现思路
如效果图所示,同一组中的item不满时留白,如使用一个recyclerview中嵌套多个gridview,当一个item图片过多时会导致OOM
因此,只使用一个recyclerview不嵌套gridview完成,可以用两种方法实现
1、第一种自定义RecyclerView.ItemDecoration,重写onDrawOver方法,onDrawOver会绘制在最上层,所以它的绘制位置并不受限制。
2、第二种通过GridLayoutManager的setSpanSizeLookup实现,具体分为两部分完成,首先对item进行分组显示,其次实现上滑或下滑时组title替换动效。
分组显示实现
可参考[Google Source SectionedGridRecyclerViewAdapter]https://gist.github.com/gabrielemariotti/e81e126227f8a4bb339c
通过设置item的占位实现组item不满时的留白
添加item时需手动分组,如下根据时间分组
替换动效实现
一直悬浮的title用TextView实现,当下一个view的高度小于title控件的高度时,改变title的y轴起始坐标。