【问题标题】:Custom gesture detection inside CollapsingToolbarLayoutCollapsingToolbarLayout 中的自定义手势检测
【发布时间】:2015-11-18 00:27:54
【问题描述】:

我正在尝试使用我在 CollapsingToolbarLayout 中编写的自定义视图,但触摸事件似乎没有通过手势检测正确传播到我的自定义视图。结果是滚动和与视图的交互无法按预期或顺利进行。我的自定义视图大量使用了GestureDetector.SimpleOnGestureListener

是否可以在 CollapsingToolbarLayout 中嵌入具有自己的触摸事件的自定义视图?

【问题讨论】:

  • 在类似的情况下苦苦挣扎。你有同样的解决方案吗?任何指导/指针或帮助表示赞赏!
  • @trivalent 看看我的回答。我不知道它是否会解决您的问题,但是如果您在另一个内部嵌入一个处理自己的 onTouchEvent 的自定义视图。那么我的解决方案可能会解决您的问题。谢谢。

标签: java android view gesture android-collapsingtoolbarlayout


【解决方案1】:

经过一番排查,我发现问题出在onTouchEvent上,具体来说,需要为父视图请求DisallowInterceptTouchEvent,使父视图不处理触摸事件:

    public boolean onTouchEvent(MotionEvent event) {
      // Do stuff on touch 
      // prevent parent container from processing ACTION_MOVE events
      if(event.getAction() == MotionEvent.ACTION_MOVE) {
        getParent().requestDisallowInterceptTouchEvent(true);
      } else if(event.getAction() == MotionEvent.ACTION_CANCEL) {
        getParent().requestDisallowInterceptTouchEvent(false);
      }

    // Do some more stuff
    return true;
}

【讨论】:

    猜你喜欢
    • 2011-09-04
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多