sensibilidad - codigo para calibrar touch android
¿Cómo activar programáticamente el evento táctil en Android? (2)
Me gustaría activar un evento táctil como este:
Primero, toque el dedo hacia abajo en el (0,50%) de la pantalla y deslícelo hasta el (50%, 50%) de la pantalla, y salga (mueva el dedo de la pantalla)
He encontrado algo como esto:
MotionEvent event = MotionEvent.obtain(downTime, eventTime, action, x, y, pressure, size, metaState, xPrecision, yPrecision, deviceId, edgeFlags);
onTouchEvent(event);
Sin embargo, ¿cómo emular el caso anterior? ¿Necesito crear 2 eventos? onTouchDown, onMove, etc ...? Gracias por ayudar.
Y aquí está la versión limpia:
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));
}
PD: esta es una solución de Android xamarin pero puedes modificarla fácilmente para java
// 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);