0、博客地址
https://editor.csdn.net/md/?articleId=106413991
1、概述
keep 的运动统计界面,滑动的柱状图很炫酷。想着怎么实现
2、模仿效果
3、实现思路
多操作几遍,感觉keep的效果就是一个横向的picker,及:横向滑动,自动选择中间一项,点击item也可以自动滚动该item(这个只是锦上添花)。
就按横向picker进行思考,google 了一些实现。发现用recycleView其实是很方便做横向 picker的。参考:添加链接描述
3.1、值得提的点
- SnapHelper 可以自动滚动一个item,实现吸合效果
其他都是顺其自然的点:
- RecyclerView 可以右向左滑动
- RecyclerView 的横向加载更多(现在取临界点是利用picker取的)
4、补充
RecyclerView 的横向加载更多在使用 layoutManager.findLastVisibleItemPosition() 方法时返回的都是 -1,所以舍弃了这种方式,还没深入了解为什么只竖向有效横向无效
LinearLayoutManager layoutManager = ((LinearLayoutManager)recyclerView.getLayoutManager());
recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
// super.onScrolled(recyclerView, dx, dy);
int lastVisiblePosition = layoutManager.findLastVisibleItemPosition();
if (lastVisiblePosition == recyclerView.getChildCount()) {
if (loadmore) {
loadmore = false;
method();
}
}
}
});