android 模仿Keep的訓練統計(橫向 RecyclerView 實現picker)

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();
                }
            }
        }
    });

5、附代碼

github鏈接

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章