android - 如何以编程方式触发android中的触摸事件?

标签 android touch gesture-recognition gestures

我想触发这样的触摸事件:

首先手指在屏幕的 (0,50%) 处触碰并滑动到屏幕的 (50%,50%),然后退出(将手指从屏幕上移开)

我发现了一些类似的东西:

MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, pressure, size, metaState, xPrecision, yPrecision, deviceId, edgeFlags);

onTouchEvent(event);

但是,如何模拟上述情况?我需要创建 2 个事件吗? onTouchDown , onMove 等....?感谢您的帮助。

最佳答案

// Obtain MotionEvent object
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis() + 100;
float x = 0.0f;
float y = 0.0f;
// List of meta states found here:     developer.android.com/reference/android/view/KeyEvent.html#getMetaState()
int metaState = 0;
MotionEvent motionEvent = MotionEvent.obtain(
    downTime, 
    eventTime, 
    MotionEvent.ACTION_UP, 
    x, 
    y, 
    metaState
);

// Dispatch touch event to view
view.dispatchTouchEvent(motionEvent);

关于android - 如何以编程方式触发android中的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23902892/

相关文章:

android - 将数据预填充到 Assets 中的 Realm ?

Android 会将快速单点触摸视为移动?

javascript - 使用触摸设备触发鼠标滚轮事件

Android 动态壁纸触摸事件层次结构

java - 搜索 View 仅识别大写字母。但我想要大写和小写字母结果

java - 更新后插件出现 eclipse 错误

java - Android 未处理的异常 : org. json.JSONException with ion

android - GestureOverlayView 不工作

flutter - 如果使用 onDoubleTap,InkWell 效果会延迟启动;想要在触摸小部件时立即触发

c++ - 动态手势的隐马尔可夫模型训练?