Android CollapsingToolbarLayout自定义snap scrollflag

时间:2016-02-03 07:55:40

标签: android scroll android-collapsingtoolbarlayout

我正在尝试控制collpasingtoolbarlayout的快照滚动标志的滚动行为。根据本教程link SCROLL_FLAG_SNAP:滚动结束时,如果视图仅部分可见,则它将被捕捉并滚动到它的最近边缘。我想要实现的是使Snap Behavior仅在从1到1的方向上工作。这意味着如果该视图距离上边缘很近并且用户从底部滚动,则它应该在此原因中正常工作。否则,如果用户从上到下滚动它应该什么也不做。

这是Google的圣诞老人应用程序的GIF,我正试图实现相同的行为。

Gif Link

1 个答案:

答案 0 :(得分:1)

以下是a link之前发布的支持快照滚动标记的帖子,其中包含重新创建相同行为的代码。您可以修改此自定义行为以满足您的需求。

在该代码中,您将找到以下部分,您需要针对“接近顶部或底部”逻辑进行编辑:

if (topOffset < -(scrollRange / 2f)) {     //Close to top
        // Snap up (to fully invisible)
        animateOffsetTo(-scrollRange);
    } else {                               //Close to bottom
        // Snap down (to fully visible)
        animateOffsetTo(0);
    }

您还需要包含逻辑,以将滚动开始时的偏移量与滚动停止时的偏移量进行比较,以确定滑动方向。

祝你好运!