Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/216.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Android ScrollView中以一种不';t防止滚动和单击它';什么是子项?_Android_Scrollview_Multi Touch_Gesturedetector - Fatal编程技术网

如何在Android ScrollView中以一种不';t防止滚动和单击它';什么是子项?

如何在Android ScrollView中以一种不';t防止滚动和单击它';什么是子项?,android,scrollview,multi-touch,gesturedetector,Android,Scrollview,Multi Touch,Gesturedetector,我有一个扩展Android ScrollView的自定义视图。直接子级是一种相对布局,它具有可单击的子级。 我希望能够: 检测滚动视图上的缩放手势(然后我将手动管理项目的缩放) 垂直滚动滚动滚动视图 保持这些子项可单击 到目前为止,我尝试的是(伪代码): 我还尝试了onInterceptMethod的不同配置,例如首先调用super,然后返回mscaledetator.onTouchEvent等等 我成功地截获了缩放或单击并滚动,但不是两者都截获 谢谢, Daniel解决方案是: @O

我有一个扩展Android ScrollView的自定义视图。直接子级是一种相对布局,它具有可单击的子级。 我希望能够:

  • 检测滚动视图上的缩放手势(然后我将手动管理项目的缩放)
  • 垂直滚动滚动滚动视图
  • 保持这些子项可单击
  • 到目前为止,我尝试的是(伪代码):

    我还尝试了onInterceptMethod的不同配置,例如首先调用super,然后返回mscaledetator.onTouchEvent等等

    我成功地截获了缩放或单击并滚动,但不是两者都截获

    谢谢,
    Daniel

    解决方案是:

         @Override
        public boolean dispatchTouchEvent(MotionEvent ev){
            super.dispatchTouchEvent(ev);    
            return mScaleDetector.onTouchEvent(ev); 
        }
    
    并且不重写InterceptTouchEvent和onTouchEvent方法

         @Override
        public boolean dispatchTouchEvent(MotionEvent ev){
            super.dispatchTouchEvent(ev);    
            return mScaleDetector.onTouchEvent(ev); 
        }