,这很简单---每个视图都有一个scrollViewDidScroll方法。我正试图在Android中找到相应的功能。Android:如何判断一个视图是否在iPhone中滚动
我的代码有效,但它并没有给我我想要的东西。我需要在视图滚动的整个持续时间内执行代码。所以,即使我使用OnGestureListener的onScroll方法,它只会在手指在屏幕上时触发(它并不是真正命名的 - 它应该被称为“onSlide”或“onSwipe”,侧重于手势而不是UI动画)。如果用户弹动视图并且在用户抬起手指后仍然滚动片刻,它不会继续触发。
是否有一种方法在滚动的每一步都被调用?
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;
}
谢谢....这些WebViews似乎完全不同于任何其他Android视图。这是我在这个论坛上提出的第二个问题,它导致了:“这是有道理的,但WebView似乎是正常的Android约定中没有记录的例外。”非常令人沮丧。谨防WebViews! – Dave 2010-04-09 17:27:01