滚动条上的路径状标记

时间:2015-08-28 16:06:09

标签: android android-recyclerview

我想为android实现Path-like时间标记。我找到了一些关于如何在ListView上实现它的指南,但我需要为其中包含不同大小的项目的RecyclerView执行此操作。 我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

我们使用非常简单和愚蠢的方法来实现时间路径标记的平滑动画。我们忽略滚动条的实际位置,因为它很难获得,并且它倾向于根据内容大小大幅改变它的大小和位置。 在RecyclerView的OnScrolled方法中,我们根据dy重新计算并重置了视图边距 - 滚动了多个像素。以下是现在的代码:

            @Override
            public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
                super.onScrolled(recyclerView, dx, dy);
                if (dy == 0) return;
                if (dy < 0) {
                    if ((botMarg - dy) >= displayHeight - topOffset) {
                        botMarg = displayHeight - topOffset;
                    } else {
                        botMarg -= dy;
                    }
                } else {
                    if (botMarg - dy <= botOffset) {
                        botMarg = botOffset;
                    } else {
                        botMarg -= dy;
                    }
                }

要获取当前视图,我们使用了方法recyclerView.findChildViewUnder()和我们在OnScrolled中获得的位置。