我正在尝试将垂直滚动视图与垂直viewpager结合使用(请参阅https://github.com/kaelaela/VerticalViewPager),我不确定如何解决它。
基本上,我有两个片段,一个下片段(活动开始时默认为片段),其中包含全屏滚动视图,以及当用户位于顶部时我想要到达的一个上片段下部片段的滚动视图和继续下拉。如果有人使用过Facebook Messenger,那就类似于他们的功能,如果你继续向下滚动他们的聊天页面,相机就会启动。
现在,滚动视图会阻止打开第二个片段的操作,除非我从非常特定的角度拉下来。
我考虑使用scrollview的OnOverScroll
方法实现一些东西(如果Y滚动位置为0),但我觉得这会导致一个糟糕的用户体验,因为即使是最轻微的过度滚动也会导致一个全新的片段。
如果有人有任何想法,我会非常感激。
非常感谢。
答案 0 :(得分:0)
我通过将我的scrollview包装在SwipeRefreshLayout中解决了我的问题。以下是帮助未来遇到此问题的任何人的步骤:
将您的滚动视图包装在SwipeRefreshLayout中后,使用mySwipeRefreshLayout.setColorSchemeColors
在代码中将布局设置为透明。
然后使用
mySwipeRefreshLayout.setOnRefreshListener(
new SwipeRefreshLayout.OnRefreshListener() {
@Override
public void onRefresh() {
// do your pull-down task here
}
});
在用户从顶部下拉滚动视图时收听。
稍微苛刻的解决方案,但避免编写可能引入错误的自定义类扩展,并使用现有功能来很好地实现所需的结果。