| /* |
| * Copyright 2013 The Android Open Source Project |
| * |
| * Licensed under the Apache License, Version 2.0 (the "License"); |
| * you may not use this file except in compliance with the License. |
| * You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, software |
| * distributed under the License is distributed on an "AS IS" BASIS, |
| * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| * See the License for the specific language governing permissions and |
| * limitations under the License. |
| */ |
| |
| package com.example.android.basicgesturedetect; |
| |
| import android.view.GestureDetector; |
| import android.view.MotionEvent; |
| |
| import com.example.android.common.logger.Log; |
| |
| public class GestureListener extends GestureDetector.SimpleOnGestureListener { |
| |
| public static final String TAG = "GestureListener"; |
| |
| // BEGIN_INCLUDE(init_gestureListener) |
| @Override |
| public boolean onSingleTapUp(MotionEvent e) { |
| // Up motion completing a single tap occurred. |
| Log.i(TAG, "Single Tap Up"); |
| return false; |
| } |
| |
| @Override |
| public void onLongPress(MotionEvent e) { |
| // Touch has been long enough to indicate a long press. |
| // Does not indicate motion is complete yet (no up event necessarily) |
| Log.i(TAG, "Long Press"); |
| } |
| |
| @Override |
| public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, |
| float distanceY) { |
| // User attempted to scroll |
| Log.i(TAG, "Scroll"); |
| return false; |
| } |
| |
| @Override |
| public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, |
| float velocityY) { |
| // Fling event occurred. Notification of this one happens after an "up" event. |
| Log.i(TAG, "Fling"); |
| return false; |
| } |
| |
| @Override |
| public void onShowPress(MotionEvent e) { |
| // User performed a down event, and hasn't moved yet. |
| Log.i(TAG, "Show Press"); |
| } |
| |
| @Override |
| public boolean onDown(MotionEvent e) { |
| // "Down" event - User touched the screen. |
| Log.i(TAG, "Down"); |
| return false; |
| } |
| |
| @Override |
| public boolean onDoubleTap(MotionEvent e) { |
| // User tapped the screen twice. |
| Log.i(TAG, "Double tap"); |
| return false; |
| } |
| |
| @Override |
| public boolean onDoubleTapEvent(MotionEvent e) { |
| // Since double-tap is actually several events which are considered one aggregate |
| // gesture, there's a separate callback for an individual event within the doubletap |
| // occurring. This occurs for down, up, and move. |
| Log.i(TAG, "Event within double tap"); |
| return false; |
| } |
| |
| @Override |
| public boolean onSingleTapConfirmed(MotionEvent e) { |
| // A confirmed single-tap event has occurred. Only called when the detector has |
| // determined that the first tap stands alone, and is not part of a double tap. |
| Log.i(TAG, "Single tap confirmed"); |
| return false; |
| } |
| // END_INCLUDE(init_gestureListener) |
| } |