Ben partiye geç kaldım ama biraz sonra biliyorum Nişanlının sonunda, aşağıdan yukarıya, soldan sağa, vb. - herhangi bir kaynak kimliğine ihtiyaç duymadan - kaydırabilecek bir şey buldum.
İhtiyacımın nedeni, her şeyin tamamen belirsiz olduğu dinamik olarak doldurulmuş bir görünümdü. Aşağıdaki yöntemle tabana kadar kaydırabiliyorum ve hatta sadece bir sayfa aşağı kaydırmak için gecikmeyi değiştirebiliyorum.
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
}
Ben vs. soldan sağa gerek kalmaz ben (x ekseni olmak 500) orada 500 kodlanmış.
// 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);
}
Ben bunun bu kadar sendeler herkes yardımcı olur umarım - ve
bunu benim yaptığımı yaptım onları aramak için.
çok fazla yorum ve noktaya sahip ... Kodunuzun "tam" örneğine sahipseniz, lütfen göster.Pek çok insan sizinkileri neye gireceklerini bilemez '...' – Morozov
Katılıyorum. Kodunuzda kullanılan değişken tanımları ve atamaları hariç tutmak kafa karıştırıcıdır. Kodun okunmasını zorlaştırırsa, birkaç satırı kaydetmeye değmez. – Project