我正在尝试创造一些我在任何地方找不到的东西......至少我想要的方式。
所以这是我想要实现的场景:
我正在使用典型的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具有固定的高度),我也希望它在释放按钮后过度滚动并返回到原始位置。
加: