Android 清除 recent activities 手势原理是啥?

2018-09-25 21:38:55 +08:00
 a128445

背景

Android 和 iOS历史应用视图,可以通过手势来清除应用,比如

  1. 以一定加速划过;或者
  2. 拖动一段距离

问题是

历史应用视图中

摸爬滚打

Android

我尝试着找 Android 源代码,发现在 SystemUI package 中SwipeHelper.java #367 行(见下)似乎定义了拖动距离超和加速度,但不清楚是否是对的,也不太懂#367 行的意思

Math.abs(getTranslation(mCurrAnimView)) > 0.4 * getSize(mCurrAnimView);

iOS

iOS 代码不开源,我就跟着这个教程facebook-wda python lib用模拟点击的方式试探性的了解拖动距离,如用 s.swipe(x1, y1, x1, 0, 1) 不断尝试出最小的 y1 值。但是似乎不是很准确。

还望大神们指点迷津。

712 次点击
所在节点    问与答
1 条回复
wsxyeah
2018-09-26 08:41:26 +08:00
AOSP 这个代码还是很清晰的吧。

滑动距离超过控件尺寸的 40%,或者松手时速度大于指定阈值(这个速度是水平 /垂直方向的分量,并且判断了下速度方向是否符合目标方向,即 45° 角)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/492533

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX