ScaleGestureDetector在Horizo​​ntalScrollView中的自定义视图上

时间:2012-09-23 19:25:53

标签: android view ontouchevent horizontalscrollview pinch

我对Android编程很陌生,而且我无法在如下构建的布局上获得预期的行为:主要布局是一个简单的LinearLayout,依次包含一个HorizontalScrollView,其中包含一个较大的自定义视图(未缩放时约为2000像素宽)。

工作正常,我的自定义视图显示在HorizontalScrollView内,并且可以滚动,轻弹和一切。到目前为止,非常好。

我想做的下一件事是缩放自定义视图。为了实现这一点,我覆盖了自定义视图的onTouchEvent()

@Override
public boolean onTouchEvent(MotionEvent motionEvent)
{
    if (_gestureDetector.onTouchEvent(motionEvent))
        return true;
    return false;
}

并在我的SimpleOnScaleGestureListener中接收活动。我将它们传递到视图中以计算新的缩放因子,甚至可以起作用。

现在出现了我的小问题:只有当我捏合"垂直"时,捏/缩放才有效。直观的"水平"捏似乎被HorizontalScrollView所消耗,而是进行了一些滚动。

这里发生了什么,我怎样才能得到我想要的行为,即能够

  • 使用HorizontalScrollView
  • 轻弹并滚动
  • 能够通过捏自定义视图进行缩放吗?

0 个答案:

没有答案