Example usage for android.support.v4.view GestureDetectorCompat GestureDetectorCompat

List of usage examples for android.support.v4.view GestureDetectorCompat GestureDetectorCompat

Introduction

In this page you can find the example usage for android.support.v4.view GestureDetectorCompat GestureDetectorCompat.

Prototype

public GestureDetectorCompat(Context context, OnGestureListener onGestureListener) 

Source Link

Usage

From source file:org.epstudios.epcalipers.CalipersView.java

private void init(Context context) {
    locked = false;//from   ww  w .  ja  v  a 2s.  c om
    calipers = new ArrayList<>();
    touchedCaliper = null;
    MyGestureListener listener = new MyGestureListener();
    gestureDetector = new GestureDetectorCompat(context, listener);
    gestureDetector.setIsLongpressEnabled(false);
    View.OnTouchListener gestureListener = new View.OnTouchListener() {
        public boolean onTouch(View v, MotionEvent event) {
            return gestureDetector.onTouchEvent(event);
        }
    };

    setOnTouchListener(gestureListener);

}

From source file:com.apptentive.android.sdk.util.image.PreviewImageView.java

public PreviewImageView(Context context, AttributeSet attrs) {
    super(context, attrs);
    super.setScaleType(ScaleType.MATRIX);
    scaleGestureDetector = new ScaleGestureDetector(context, this);
    gestureDetector = new GestureDetectorCompat(context, new PreviewGestureListener());
    touchSlop = ViewConfiguration.get(context).getScaledTouchSlop();
    super.setScaleType(ScaleType.MATRIX);
    this.setOnTouchListener(this);
}

From source file:de.hska.iam.presentationapp.activities.PresentationActivity.java

@Override
protected void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.presentation_viewer);

    gestureDetector = new GestureDetectorCompat(this, this);

    DisplayTimeDialogPreferences preferences = new DisplayTimeDialogPreferences(this);
    int flipIntervalImages = preferences.getSeconds();

    flipper = (PresentationFlipper) findViewById(R.id.flipper);
    flipper.setFlipInterval(flipIntervalImages * 1000);
    flipper.setOnTouchListener(new View.OnTouchListener() {
        @Override/*from  w  w  w .j  a  v a  2  s  .  c o m*/
        public boolean onTouch(final View v, final MotionEvent event) {
            return gestureDetector.onTouchEvent(event);
        }
    });

    boolean paused = getIntent().getBooleanExtra("isPaused", false);
    flipper.setPaused(paused);

    serviceConnector = new ServiceConnector(this);
    serviceConnector.connect(ServiceConnector.Services.BITMAP_CACHE_MANAGER, flipper);
    serviceConnector.connect(ServiceConnector.Services.PLAYLIST_MANAGER, flipper);
}

From source file:co.lmejia.iglesia.AssistanceListActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d(TAG, "onCreate");

    setContentView(R.layout.activity_main);

    positionEdit = 0;/*from   w w w .j ava 2  s.  c  o  m*/

    assistances = new ArrayList<Assistance>();
    mAdapter = new MyAdapter(assistances);

    mLayoutManager = new LinearLayoutManager(this);

    mRecyclerView = (RecyclerView) findViewById(R.id.my_recycler_view);
    mRecyclerView.setHasFixedSize(true);
    mRecyclerView.setLayoutManager(mLayoutManager);
    mRecyclerView.setAdapter(mAdapter);
    mRecyclerView.setItemAnimator(new DefaultItemAnimator());

    RecyclerView.ItemDecoration itemDecoration = new DividerItemDecoration(this,
            DividerItemDecoration.VERTICAL_LIST);

    mRecyclerView.addItemDecoration(itemDecoration);
    mRecyclerView.addOnItemTouchListener(this);
    gestureDetector = new GestureDetectorCompat(this, new RecyclerViewDemoOnGestureListener());

}

From source file:de.uni_weimar.mheinz.androidtouchscope.display.MeasurementsView.java

private void init() {
    mGestureDetector = new GestureDetectorCompat(getContext(), new SimpleGestureListener());

    mTopLeft = new Point(0, 0);

    mRectDrawable = ContextCompat.getDrawable(getContext(), R.drawable.rounded_rect);
    mMeasureData = new MeasureData();

    mTextPaint.setColor(HostView.CHAN1_COLOR);
    mTextPaint.setTextSize(TEXT_SIZE);/*from w  w  w.j  a  v a2s .c o  m*/
    mTextPaint.setTextAlign(Paint.Align.LEFT);
}

From source file:io.github.hidroh.materialistic.widget.NavFloatingActionButton.java

@Synthetic
void bindNavigationPad() {
    GestureDetectorCompat detectorCompat = new GestureDetectorCompat(getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override/*from  w  ww.  jav  a2 s .  c o  m*/
                public boolean onDown(MotionEvent e) {
                    return mNavigable != null;
                }

                @Override
                public boolean onSingleTapConfirmed(MotionEvent e) {
                    Toast.makeText(getContext(), R.string.hint_nav_short, Toast.LENGTH_LONG).show();
                    return true;
                }

                @Override
                public boolean onDoubleTap(MotionEvent e) {
                    trackKonami(DOUBLE_TAP);
                    return super.onDoubleTap(e);
                }

                @Override
                public boolean onFling(MotionEvent motionEvent, MotionEvent motionEvent1, float velocityX,
                        float velocityY) {
                    int direction;
                    if (Math.abs(velocityX) > Math.abs(velocityY)) {
                        direction = velocityX < 0 ? Navigable.DIRECTION_LEFT : Navigable.DIRECTION_RIGHT;
                    } else {
                        direction = velocityY < 0 ? Navigable.DIRECTION_UP : Navigable.DIRECTION_DOWN;
                    }
                    mNavigable.onNavigate(direction);
                    mVibrator.vibrate(VIBRATE_DURATION_MS);
                    trackKonami(direction);
                    return false;
                }

                @Override
                public void onLongPress(MotionEvent e) {
                    if (mNavigable == null) {
                        return;
                    }
                    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB) {
                        Toast.makeText(getContext(), R.string.not_supported, Toast.LENGTH_SHORT).show();
                    } else {
                        startDrag(e.getX(), e.getY());
                    }
                }
            });
    //noinspection Convert2Lambda
    super.setOnTouchListener(new OnTouchListener() {
        @SuppressLint("ClickableViewAccessibility")
        @Override
        public boolean onTouch(View view, MotionEvent motionEvent) {
            return detectorCompat.onTouchEvent(motionEvent);
        }
    });
}

From source file:org.opensilk.common.ui.widget.FloatingActionButton.java

public FloatingActionButton(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    mGestureDetector = new GestureDetectorCompat(getContext(), new GestureListener());
    TypedArray attr = context.obtainStyledAttributes(attrs, R.styleable.FloatingActionButton, defStyleAttr, 0);
    if (attr != null) {
        try {/*w  w w  . j av a  2 s .co  m*/
            mColor = attr.getInt(R.styleable.FloatingActionButton_fabColor, COLOR_ACCENT);
            switch (mColor) {
            case COLOR_BLACK:
                mColorNormal = Color.BLACK;
                break;
            case COLOR_WHITE:
                mColorNormal = Color.WHITE;
                break;
            case COLOR_ACCENT:
            default:
                mColorNormal = ThemeUtils.getColorAccent(getContext());
            }
            mColorPressed = ThemeUtils.getColorControlNormal(getContext());
        } finally {
            attr.recycle();
        }
    }
    init();
}

From source file:org.ros.android.view.visualization.layer.CameraControlLayer.java

@Override
public void onStart(final VisualizationView view, ConnectedNode connectedNode) {
    view.post(new Runnable() {
        @Override//from www  . ja  v a 2 s  .c o  m
        public void run() {
            translateGestureDetector = new GestureDetectorCompat(view.getContext(),
                    new GestureDetector.SimpleOnGestureListener() {
                        @Override
                        public boolean onDown(MotionEvent e) {
                            // This must return true in order for onScroll() to trigger.
                            return true;
                        }

                        @Override
                        public boolean onScroll(MotionEvent event1, MotionEvent event2, final float distanceX,
                                final float distanceY) {
                            view.getCamera().translate(-distanceX, distanceY);
                            listeners.signal(new SignalRunnable<CameraControlListener>() {
                                @Override
                                public void run(CameraControlListener listener) {
                                    listener.onTranslate(-distanceX, distanceY);
                                }
                            });
                            return true;
                        }

                        @Override
                        public boolean onDoubleTap(final MotionEvent e) {
                            listeners.signal(new SignalRunnable<CameraControlListener>() {
                                @Override
                                public void run(CameraControlListener listener) {
                                    listener.onDoubleTap(e.getX(), e.getY());
                                }
                            });
                            return true;
                        }
                    });
            rotateGestureDetector = new RotateGestureDetector(
                    new RotateGestureDetector.OnRotateGestureListener() {
                        @Override
                        public boolean onRotate(MotionEvent event1, MotionEvent event2,
                                final double deltaAngle) {
                            final float focusX = (event1.getX(0) + event1.getX(1)) / 2;
                            final float focusY = (event1.getY(0) + event1.getY(1)) / 2;
                            view.getCamera().rotate(focusX, focusY, deltaAngle);
                            listeners.signal(new SignalRunnable<CameraControlListener>() {
                                @Override
                                public void run(CameraControlListener listener) {
                                    listener.onRotate(focusX, focusY, deltaAngle);
                                }
                            });
                            return true;
                        }
                    });
            zoomGestureDetector = new ScaleGestureDetector(view.getContext(),
                    new ScaleGestureDetector.SimpleOnScaleGestureListener() {
                        @Override
                        public boolean onScale(ScaleGestureDetector detector) {
                            if (!detector.isInProgress()) {
                                return false;
                            }
                            final float focusX = detector.getFocusX();
                            final float focusY = detector.getFocusY();
                            final float factor = detector.getScaleFactor();
                            view.getCamera().zoom(focusX, focusY, factor);
                            listeners.signal(new SignalRunnable<CameraControlListener>() {
                                @Override
                                public void run(CameraControlListener listener) {
                                    listener.onZoom(focusX, focusY, factor);
                                }
                            });
                            return true;
                        }
                    });
        }
    });
}

From source file:net.waynepiekarski.screeninfo.MyActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_my);
    final WatchViewStub stub = (WatchViewStub) findViewById(R.id.watch_view_stub);
    mMyOutputManager = new MyOutputManager(this);

    stub.setOnLayoutInflatedListener(new WatchViewStub.OnLayoutInflatedListener() {
        @Override/*from  w w w. j ava  2 s . co  m*/
        public void onLayoutInflated(WatchViewStub stub) {
            Logging.debug("onLayoutInflated for WatchViewStub");
            mTextView = (TextView) stub.findViewById(R.id.text);
            mOverlayView = (OverlayView) stub.findViewById(R.id.overlay);
            mDismissOverlayView = (DismissOverlayView) stub.findViewById(R.id.dismiss);
            mMyOutputManager.setTextView(mTextView);

            // Recursive add a listener for every View in the hierarchy, this is the only way to get all clicks
            ListenerHelper.recursiveSetOnClickListener(stub, MyActivity.this);

            // Prevent display from sleeping
            getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

            // Add a listener to handle closing the app on a long press to the activity
            mDismissOverlayView.setIntroText("Long press to exit");
            mDismissOverlayView.showIntroIfNecessary();
            mGestureDetector = new GestureDetectorCompat(MyActivity.this,
                    new GestureDetector.SimpleOnGestureListener() {
                        @Override
                        public void onLongPress(MotionEvent e) {
                            Logging.debug("Detected long press, showing exit overlay");
                            mDismissOverlayView.show();
                        }
                    });

            // Allow OverlayView to send the Canvas and View dimensions to MyOutputManager
            mOverlayView.setMyOutputManager(mMyOutputManager);
        }
    });

    stub.setOnApplyWindowInsetsListener(new WatchViewStub.OnApplyWindowInsetsListener() {
        @Override
        public WindowInsets onApplyWindowInsets(View view, WindowInsets windowInsets) {
            Logging.debug("onApplyWindowInsets for WatchViewStub, round=" + windowInsets.isRound());
            stub.onApplyWindowInsets(windowInsets);
            mMyOutputManager.handleWindowInsets(windowInsets);
            // WatchViewStub seems to call onApplyWindowInsets() multiple times before
            // the layout is inflated, so make sure we check the reference is valid.
            if (mOverlayView != null)
                mOverlayView.setRound(windowInsets.isRound());
            return windowInsets;
        }
    });
}

From source file:io.v.android.apps.reader.BaseReaderActivity.java

private void initTracker() {
    if (!Utils.hasExternalStoragePermission(this)) {
        ActivityCompat.requestPermissions(this,
                new String[] { Manifest.permission.READ_EXTERNAL_STORAGE,
                        Manifest.permission.WRITE_EXTERNAL_STORAGE },
                Constants.REQUEST_CODE_PERMISSION_EXTERNAL_STORAGE);
    }//from  w  ww.  j  a v a  2s  .  c om

    // TODO(youngseokyoon): consolidate the Tracker into UserActionLogger
    mLogger = UserActionLogger.getInstance(this);
    mGestureListener = new GestureListener(this);
    mGestureDetector = new GestureDetectorCompat(this, mGestureListener);
    mGestureDetector.setOnDoubleTapListener(mGestureListener);
}