我已经开发了一个自定义图库并覆盖其中的on-fling方法,一次刷一个图像。它工作,但问题是当我从上到下滑动或反之亦然,图像被刷卡,因此变化。
以下是我的代码
public class mygallery extends Gallery {
public mygallery(Context ctx, AttributeSet attrSet) {
super(ctx, attrSet);
}
private boolean isScrollingLeft(MotionEvent e1, MotionEvent e2) {
return e2.getX() > e1.getX();
}
private boolean isScrollingRight(MotionEvent e1, MotionEvent e2){
return e2.getX() < e1.getX();
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
int kEvent=0;
if (isScrollingLeft(e1, e2)) { // Check if scrolling left
kEvent = KeyEvent.KEYCODE_DPAD_LEFT;
} else if(isScrollingRight(e1, e2)) { // Otherwise scrolling right
kEvent = KeyEvent.KEYCODE_DPAD_RIGHT;
}
onKeyDown(kEvent, null);
return true;
}
}
如何摆脱图像的扫描(从上到下,从下到上)。
答案 0 :(得分:1)
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
if (Math.abs(velocityX) > Math.abs(velocityY))
{
// This is an horizontal fling
// Do your operation here
}
else
// This is an vertical fling
}