Android開発のお勉強

メニュー

E-Mail



スクリーンを長押し/ダブルタップした時の処理

 GestureDetectorを利用してイベントを検知します。
 処理の実装は、SimpleOnGestureListenerで行います。
 onDoubleTapは、ダブルタップ時
 onLongPressは、長押し時
 
 ActivityのCreate時に、
 SimpleOnGestureListenerにイベント時の処理を実装して、
 GestureDetectorを生成します。
 
 onTouchEventをOverrideして、
 GestureDetectorにeventを渡します。
 
● Activity
 


import android.os.Bundle;
import android.app.Activity;
import android.view.GestureDetector;
import android.view.GestureDetector.SimpleOnGestureListener;
import android.view.Menu;
import android.view.MotionEvent;
import android.widget.Toast;

public class MainActivity extends Activity {

    private GestureDetector gestureDetector;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        gestureDetector = new GestureDetector(this,new SimpleOnGestureListener() {

            @Override
            public boolean onDoubleTap(MotionEvent event) {

                Toast.makeText(MainActivity.this, "ダブルタップ", Toast.LENGTH_LONG).show();

                return super.onDoubleTap(event);
            }

            @Override
            public void onLongPress(MotionEvent event) {

                Toast.makeText(MainActivity.this, "長押し", Toast.LENGTH_LONG).show();

                super.onLongPress(event);
            }
        });
    }

    @Override
    public boolean onTouchEvent(MotionEvent event) {
        gestureDetector.onTouchEvent(event);

        return super.onTouchEvent(event);
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
}




Copyright (C) Androidアプリ開発のお勉強. All Rights Reserved.