【问题标题】:Nested scrolling on AndroidAndroid上的嵌套滚动
【发布时间】:2011-08-16 15:09:58
【问题描述】:

我们的活动中有一个主要的水平滚动视图,其中嵌套了几个垂直滚动视图。这个想法是水平滚动,直到找到所需的垂直列表,然后上下滚动。

理想情况下,一旦您开始垂直滚动,我希望垂直滚动有一个“锁定”。现在会发生什么,如果您非常小心,您可以垂直滚动,但如果您在滚动时将手指向左/向右移动太多,则会停止垂直滚动并取而代之。

可能有意义的是,无论滚动视图首先被您的移动“激活”,该滚动视图都会保持活动状态,直到您完成交互(即移开手指)。

有什么办法让它表现得这样吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    如果它适用于您的应用,最好使用 ViewPager 进行水平滑动。

    如果这不起作用,请尝试覆盖垂直 ScrollView 的 onTouch 方法,以防止水平滚动视图滚动使用

      scrollView.setEnabled(false)
    

    将 ScrollViews 嵌套在其他 ScrollViews 中通常是一种不好的做法,因为用户通常更难以导航,因此您可能需要考虑重新设计该 Activity 以避免此问题。

    如果您必须使用嵌套的 ScrollViews,我发现这个 two-dimensional ScrollView 类可能会对您有所帮助。

    【讨论】:

    • +1 表示不好的做法。我曾经尝试过这样的事情,结果非常令人沮丧,我最终重做了整个 UI,结果变得更好,手指更友好。在大多数情况下,这不值得付出努力。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-24
    • 2021-12-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多