【问题标题】:How android swipe event reflected in View?android swipe 事件如何反映在 View 中?
【发布时间】:2015-09-25 01:37:56
【问题描述】:

如触摸屏幕移动或在adb shell中使用“输入滑动”,android系统如何决定滚动或不滚动以及滚动的距离?

【问题讨论】:

    标签: android input


    【解决方案1】:

    简单的答案。手势检测。 ScrollView、ListView 和 RecyclerView 等滚动视图将注册以接收来自屏幕的 onTouchEvent 事件。然后,他们将随着时间的推移跟踪这些事件,以检测滑动等内容,包括滑动的方向、速度和加速度。

    从那里,他们可以决定是否滚动、滚动多远以及滚动方向。每个视图都会根据其内容的布局方式、是否有其他内容可以滚动等以不同的方式执行此操作。

    特别是 ScrollView 使用 VelocityTracker 来跟踪一系列触摸事件,并使用它来计算要做什么。还有其他选项(如 GestureDetector 类)可用于在自定义视图中进行简单的手势检测。

    帮自己一个忙,查看 IDE 中 ScrollView 的源代码。 特别是 onTouchEvent 和 onInterceptTouchEvent 方法。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-24
      • 1970-01-01
      • 1970-01-01
      • 2014-12-25
      • 1970-01-01
      相关资源
      最近更新 更多