我想在屏幕水平滚动后显示一个祝酒词。滚动可以发生在屏幕上的任何地方,但我希望只有当屏幕从右向左滚动时才会出现干杯。我试过这个:
HorizontalScrollView headerScrollView = new HorizontalScrollView(this);
headerScrollView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
Toast.makeText(Verbs.this, "The screen has been scrolled", Toast.LENGTH_LONG).show();
return true;
}
});
您必须覆盖setOnScrollChangeListener方法以检测从右向左滚动。
HorizontalScrollView headerScrollView = new HorizontalScrollView(this);
headerScrollView.setOnScrollChangeListener(new View.OnScrollChangeListener() {
@Override
public void onScrollChange(View v, int scrollX, int scrollY, int oldScrollX, int oldScrollY) {
if (scrollX > oldScrollX) {
Toast.makeText(Verbs.this, "moved right to left", Toast.LENGTH_LONG).show();
}
}
});
我相信你要找的是一个滚动监听器
HorizontalScrollView headerScrollView = new HorizontalScrollView(this);
headerScrollView.getViewTreeObserver().addOnScrollChangedListener(new OnScrollChangedListener() {
@Override
public void onScrollChanged() {
int scrollY = rootScrollView.getScrollY(); // For ScrollView
int scrollX = rootScrollView.getScrollX(); // For HorizontalScrollView
// DO SOMETHING WITH THE SCROLL COORDINATES
}
});