So di essere in ritardo alla festa, ma dopo un po ' di finirla ho finalmente trovato qualcosa che può scorrere da cima a fondo, da sinistra a destra, ecc. - senza bisogno di alcun ID di risorsa.
Il motivo per cui avevo bisogno era per una vista popolata dinamicamente in cui tutto era completamente ambiguo. Con il metodo qui sotto, posso scorrere fino in fondo e persino modificare il ritardo per scorrere verso il basso di una singola pagina.
static void swiper(int start, int end, int delay) {
long downTime = SystemClock.uptimeMillis();
long eventTime = SystemClock.uptimeMillis();
Instrumentation inst = getInstrumentation();
MotionEvent event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_DOWN, 500, start, 0);
inst.sendPointerSync(event);
eventTime = SystemClock.uptimeMillis() + delay;
event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_MOVE, 500, end, 0);
inst.sendPointerSync(event);
event = MotionEvent.obtain(downTime, eventTime, MotionEvent.ACTION_UP, 500, end, 0);
inst.sendPointerSync(event);
SystemClock.sleep(2000); //The wait is important to scroll
}
non ho bisogno sinistra a destra, ecc così ho hardcoded la 500 in là (500 essendo l'asse x).
e chiamarli l'ho fatto ho fatto questo -
// This swipes all the way to the bottom of the screen
public static void swipeToBottom(){
swiper(1000, 100, 0)
}
// This scrolls down one page at a time
public static void scrollSlowlyDown(){
swiper(775, 100, 100);
}
// This swipes to the top
public static void swipeToTop(){
swiper(100, 1000, 0);
}
// This scrolls up one page at a time
public static void scrollSlowlyUp(){
swiper(100, 775, 100);
}
Spero che questo aiuta tutti coloro che inciampa su questo.
troppi commenti e punti ... se si dispone di un esempio "completo" del codice, si prega di mostrare.Molte persone non sanno cosa possono inserire nel tuo '...' – Morozov
Sono d'accordo. È fuorviante escludere le definizioni e le assegnazioni di variabili utilizzate nel codice. Non vale la pena salvare alcune righe se rende il codice più difficile da leggere. – Project