в iPhone это было бы просто — у каждого представления есть метод scrollViewDidScroll. Я пытаюсь найти эквивалент в Android.
Мой код работает, но он не дает мне того, что я хочу. Мне нужно выполнять код на протяжении всей прокрутки представления. Итак, несмотря на то, что я использую метод onScroll OnGestureListener, он срабатывает только тогда, когда палец находится на экране (на самом деле он не правильно назван — его следует называть «onSlide» или «onSwipe», фокусируясь на жесте, а не на анимации пользовательского интерфейса. ). Он не продолжает срабатывать, если пользователь щелкает представление, и оно все еще прокручивается в течение нескольких секунд после того, как пользователь поднимает палец.
есть ли метод, который вызывается на каждом шаге прокрутки?
public class Scroll extends Activity implements OnGestureListener {
public WebView webview;
public GestureDetector gestureScanner;
public int currentYPosition;
public int lastYPosition;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
webview = new WebView(this);
setContentView(webview);
webview.loadUrl("file:///android_asset/Scroll.html");
gestureScanner = new GestureDetector(this);
currentYPosition = 0;
lastYPosition = 0;
}
public boolean onTouchEvent(final MotionEvent me) {
return gestureScanner.onTouchEvent(me);
}
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
// I do stuff here.
return true;
}