1

カスタムギャラリーを開発し、その中のon-flingメソッドをオーバーライドして、一度に1つの画像をスワイプしました.うまくいきましたが、問題は、上から下にスワイプすると、またはその逆に画像がスワイプされて変更されることです.

以下は私のコードです

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;
}

}

画像のスワイプ(上から下、下から上)を取り除くにはどうすればよいですか。

4

1 に答える 1

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
 }
于 2012-04-23T13:08:38.750 に答える