use*_*104 43 android gesture-recognition touch gestures
我想触发这样的触摸事件:
首先,手指在屏幕的(0,50%)处向下触摸并滑动到屏幕的(50%,50%),然后退出(将手指从屏幕上移开)
我发现了一些这样的事情:
MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, pressure, size, metaState, xPrecision, yPrecision, deviceId, edgeFlags);
onTouchEvent(event);
Run Code Online (Sandbox Code Playgroud)
但是,如何模仿上述情况?我需要创建2个活动吗?onTouchDown,onMove等....?谢谢你的帮助.
bst*_*r55 89
// 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);
Run Code Online (Sandbox Code Playgroud)
这是干净的版本:
public void TouchView(View view)
{
view.DispatchTouchEvent(MotionEvent.Obtain(SystemClock.UptimeMillis(), SystemClock.UptimeMillis(), (int)MotionEventActions.Down, 0, 0, 0));
view.DispatchTouchEvent(MotionEvent.Obtain(SystemClock.UptimeMillis(), SystemClock.UptimeMillis(), (int)MotionEventActions.Up, 0, 0, 0));
}
Run Code Online (Sandbox Code Playgroud)
PS:这是一个xamarin android解决方案,但您可以轻松地将其修改为java
| 归档时间: |
|
| 查看次数: |
57919 次 |
| 最近记录: |