CoordinatorLayout,NestedScrollView和Overscroll

时间:2016-04-23 21:48:04

标签: android android-coordinatorlayout android-appbarlayout android-nestedscrollview

我正在尝试创造一些我在任何地方找不到的东西......至少我想要的方式。

所以这是我想要实现的场景:

我正在使用典型的CoordinatorLayout和AppBarLayout(ABL)以及NestedScrollView(NSV),所以当我在NSV / ABL中滚动时,我在ABL上获得了一个很好的视差。

问题是NSV只占据屏幕的一小部分,位于底部。如果我向上滚动,它会从屏幕底部“分离”。另外,如果我将ABL拖得太多,那就太大了。

我想要的是将NSV保持在原位,但允许过度滚动(在修饰后恢复状态)。

另外,如何平滑滚动NSV特定数量?我尝试使用behavior.onNestedFling和behavior.onNestedPreScroll,但第一个使用速度,而不是翻译,第二个没有动画。

有人能指出我如何实现这个目标的正确方向吗?

提前致谢, 若昂

编辑:这里有一些澄清: http://i.stack.imgur.com/oha7l.png

我有一个CoordinatorLayout(红色方块),一个内部带有ImageView的AppBarLayout(绿色部分)和一个NestedScrollView(白色部分)。

  • NestedScrollView的内容有一个很小的高度(假设里面的视图很小)。

  • AppBarLayout的固定大小为“300dp”。

情况:

  • 如果我向上滚动appbarlayout或nestedscrollview,nestedscrollview的内容会向上滚动(从而折叠appbarlayout。如果nestedscrollview中没有足够的内容,我不希望发生这种情况。但我这样做发布后,希望它过度滚动并返回原位。

  • 如果我向下滚动,没有任何反应(如果appbarlayout具有固定的高度),我也希望它在释放按钮后过度滚动并返回到原始位置。

加:

  • 当某些事件发生时,我想以编程方式平滑地向上或向下滚动appbarlayout固定数量的“dp”。我尝试使用behavior.onNestedFling和behavior.onNestedPreScroll,但这些方法要么不滚动固定数量,要么不为滚动设置动画。

0 个答案:

没有答案