【问题标题】:Handle touch events in ScrollView Android在 ScrollView Android 中处理触摸事件
【发布时间】:2012-09-30 10:46:15
【问题描述】:

我想为 Android 2.2 实现拖放功能。我为每个控件覆盖 onTouchListener。但我所有的控件都在 ScrollView 中。当我的所有控件在 ScrollView 中可见时,dra-n-drop 就可以正常工作。但是,当屏幕上并非所有控件都可见并且出现滚动时,我无法使用 dra-n-drop。所有事件都到 ScrollView 并且只有 scrollview 继续它们。 Contols 没有获得触摸事件,因此我无法拖动控件。 有谁知道如何解决这个问题?我想,滚动视图应该进行自触摸事件,但随后它应该将此触摸事件传递给子控件。我该怎么做?还是有其他解决方案?

【问题讨论】:

    标签: android controls scrollview


    【解决方案1】:

    使用mScrollView.requestDisallowInterceptTouchEvent(true); 避免 ScrollView 处理 touchEvents。同样正如 Ridcully 指出的那样,在 onInterceptTouchEvent() 中处理触摸事件。

    【讨论】:

    • 非常感谢! mScrollView.requestDisallowInterceptTouchEvent(true); 解决了我的问题。我不想实现自定义滚动视图。我确信在没有自定义视图的情况下可以做到这一点。你的解决方案真的对我有帮助。但是每次处理控件的触摸事件时,我都需要调用此方法并设置为true。
    【解决方案2】:

    看看onInterceptTouchEvent() 方法。您必须继承 ScrollView 并覆盖和调整此方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-13
      • 1970-01-01
      • 1970-01-01
      • 2011-04-05
      • 1970-01-01
      • 2015-10-04
      • 1970-01-01
      • 2016-05-28
      相关资源
      最近更新 更多