我已经在我的 Android 应用程序中使用 . 这很好用,除了我想在滚动手势上滚动到下一个图像(现在它只是在减速之前滚动过去几个图像)。我找不到合适的方法来做到这一点,我应该改用 FrameLayout 吗?如何在滚动手势上滚动到下一个(或上一个)图像?
问问题
6907 次
3 回答
1
这就是我最终使用的
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
if (velocityX <= 0 ){
// hack - send event to simulate right key press
KeyEvent rightKey = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_RIGHT);
this.onKeyDown(KeyEvent.KEYCODE_DPAD_RIGHT, rightKey);
rightKey = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_RIGHT);
this.onKeyUp(KeyEvent.KEYCODE_DPAD_RIGHT, rightKey);
}else{
// hack - send event to simulate left key press
KeyEvent leftKey = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DPAD_LEFT);
this.onKeyDown(KeyEvent.KEYCODE_DPAD_LEFT, leftKey);
leftKey = new KeyEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_DPAD_LEFT);
this.onKeyUp(KeyEvent.KEYCODE_DPAD_LEFT, leftKey);
}
// your callback activity if you have one:
if( callbackActivity != null ){
callbackActivity.didFlingGallery();
}
return true;
}
于 2010-06-15T02:11:28.143 回答
0
您发布问题的那一刻,您就知道答案了!我从使用 Gallery 到 HorizontalScrollView 回到使用 Gallery。只是显示我的n00bness。Gallery 很好地解决了我的问题。我有一个自定义类,它扩展了 Gallery 并覆盖了 onFling(...)。在此将velocityX重置为-300或300,具体取决于方向,这将导致滚动到下一个“页面”。
于 2010-02-19T16:37:36.783 回答