2012-02-28 15 views
0

アニメーション効果と、onclicklistener、ontouchlistenerなどのビュー(レイアウト)に適用する方法を知っていますが、レイアウトを左右にスライドさせるとどのイベントが発生するのですか?レイアウトのスワイプアニメーション:android

previousButton.setOnClickListener(new OnClickListener() { 
     @Override 
     publicvoid onClick(View v) { 
       viewFlipper.setInAnimation(MainActivity.this,R.anim.view_transition_in_right); 
       viewFlipper.setOutAnimation(MainActivity.this,R.anim.view_transition_out_right); 
       viewFlipper.showPrevious(); 
     } 
    }); 
} 

私はしないでくださいonclicklistener。つまり、現在のレイアウトをタッチして左にスライドすると、外に出て、次のレイアウトが現在のview.howにあるはずです。

答えて

1

アクティビティにonGestureListenerを実装します。あなたの活動の後、

その後

private GestureDetector gestureScanner; 
gestureScanner = new GestureDetector(this); 
private static final int SWIPE_MIN_DISTANCE = 100; 
    private static final int SWIPE_THRESHOLD_VELOCITY = 100; 

を追加するには、以下のようにonTouchEvent(MotionEventイベントを)overrid:

@Override 
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, 
      float velocityY) { 
     /* on scroll to the next page */ 
     if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE 
       && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY 
       ) { 
      //Ur code goes here 
     } 
     /* on scroll to the previous page */ 
     else if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE 
       && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY 
       ) { 
      //ur code goes here. 
     } 
     return false; 
    } 

@Override 
    public boolean onTouchEvent(MotionEvent event) { 
     return gestureScanner.onTouchEvent(event); 
    } 

はまた最後に、メソッドをonFlingオーバライドするようなものが必要

これが役に立ちます。

+0

これは私にとってはうまくいくが、完全ではない。私の現在のレイアウトはページ内に大量のビューを持っており、それらのビューの上をスワイプすると機能しません。スワイプが正しく動作するのは、アプリケーションのタイトルバーに沿ってスワイプするだけです。この機能を画面全体にスワイプするための方法はありますか? – JuiCe

+0

私はここhttp://developer.android.com/training/gestures/viewgroup.html解決策を見つけました。 ViewGroupを使用してスワイプを検出する場合は、onInterceptTouchEventを実装してすべてのモーションイベントを取得し、子ビューで処理する必要があるのか​​、スワイプジェスチャを構成するのかを選択できます。 – hara

0

ビュー間でスライドするには、フラグメントを使用する必要があります。 FragmentActivityとFragmentを使用します(ビューごとに)。 android developers example

それとも、単にあなたが見るページャ必要このopensource library

0

を使用することができます -

ViewPager

あまりにも実装するのは非常に簡単に、あなただけの、あなたがの場合と同様の方法でアダプタを提供ListView

関連する問題