【发布时间】:2015-01-16 02:56:48
【问题描述】:
我按照这个主题auto scroll a Gallery widget 创建了一个画廊,每 5 秒自动从左到右滚动一次。这是我的画廊:
public class MyBannersGallery extends Gallery {
private Handler handler;
public MyBannersGallery(Context ctx, AttributeSet attrSet) {
super(ctx, attrSet);
handler = new Handler();
postDelayedScrollNext();
}
private void postDelayedScrollNext() {
handler.postDelayed(new Runnable() {
public void run() {
postDelayedScrollNext();
onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, null);
}
}, 5000);
}
private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) {
return e2.getX() > e1.getX();
}
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
int kEvent;
if (isScrollingLeft(e1, e2)) {
kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
} else {
kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
}
onKeyDown(kEvent, null);
return true;
}
}
当它滚动到我的画廊的尽头时,它停止了。现在我想检测我的画廊是否滚动到最后。如果是这样,请向左滚动到第一项。我应该如何编辑我的课程以存档?
【问题讨论】: