Я знаю, что опаздываю на вечеринку, но после долгих поисков я наконец нашел что-то, что может смахивать сверху вниз, слева направо и т. д. — без необходимости в идентификаторах ресурсов.
Причина, по которой мне это было нужно, заключалась в динамически заполняемом представлении, где все было совершенно неоднозначно. С помощью приведенного ниже метода я могу прокручивать страницу до конца и даже изменять задержку, чтобы прокручивать вниз только одну страницу.
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
}
Мне не нужно слева направо и т. д., поэтому я жестко закодировал там 500 (500 — это ось x).
и чтобы позвонить им я сделал это я сделал это -
// 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);
}
Я надеюсь, что это поможет любому, кто спотыкается об этом.
person
Nefariis
schedule
22.02.2017