android.view.GestureDetector#setOnDoubleTapListener ( )源码实例Demo

下面列出了android.view.GestureDetector#setOnDoubleTapListener ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: android_maplibui   文件: MapView.java
public MapView(
        Context context,
        MapDrawable map)
{
    super(context, map);

    setLayerType(View.LAYER_TYPE_HARDWARE, null);

    mGestureDetector = new GestureDetector(context, this);
    mGestureDetector.setOnDoubleTapListener(this);

    mScaleGestureDetector = new ScaleGestureDetector(getContext(), this);

    mScroller = new Scroller(context);

    mStartMouseLocation = new PointF();
    mCurrentMouseOffset = new PointF();
    mCurrentFocusLocation = new PointF();

    mDrawingState = DRAW_STATE_drawing_noclearbk;
}
 
源代码2 项目: COCOQuery   文件: AbstractViewQuery.java
/**
 * Register listener on double-tap gesture for view
 *
 * @param listener
 * @return view
 */
public T doubleTap(final GestureDetector.OnDoubleTapListener listener) {
    if (view != null) {
        final GestureDetector detector = new GestureDetector(view.getContext(),
                new GestureDetector.SimpleOnGestureListener());
        detector.setOnDoubleTapListener(listener);
        view.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View v, MotionEvent event) {
                return detector.onTouchEvent(event);
            }
        });
    }
    return self();
}
 
源代码3 项目: ImagePicker   文件: CropView.java
public CropView(Context context, AttributeSet attrs, int defStyleAttr)
{
    super(context, attrs, defStyleAttr);

    setScaleType(ScaleType.MATRIX);

    mDragScaleDetector = VersionedGestureDetector.newInstance(context, this);
    mGestureDetector = new GestureDetector(context, new GestureDetector.SimpleOnGestureListener());
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener());

    outlinePaint.setAntiAlias(true);
    outlinePaint.setColor(highlightColor);
    outlinePaint.setStyle(Paint.Style.STROKE);
    outlinePaint.setStrokeWidth(dpToPx(OUTLINE_DP));
    outsidePaint.setARGB(125, 50, 50, 50);

    ViewTreeObserver observer = getViewTreeObserver();
    if (null != observer)
    {
        observer.addOnGlobalLayoutListener(this);
    }
}
 
源代码4 项目: android-test   文件: GestureActivity.java
@Override
public void onCreate(Bundle icicle) {
  super.onCreate(icicle);
  setContentView(R.layout.gesture_activity);
  gestureArea = findViewById(R.id.gesture_area);
  final GestureDetector simpleDetector = new GestureDetector(this, new GestureListener());
  simpleDetector.setIsLongpressEnabled(true);
  simpleDetector.setOnDoubleTapListener(new DoubleTapListener());
  gestureArea.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View v, MotionEvent m) {
      boolean res = simpleDetector.onTouchEvent(m);
      if (-1 != touchDelay) {
        Log.i(TAG, "sleeping for: " + touchDelay);
        SystemClock.sleep(touchDelay);

      }
      return res;
    }
  });
}
 
源代码5 项目: BlackLight   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }
            });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));

    // Finally, update the UI so that we're zoomable
    setZoomable(true);
}
 
源代码6 项目: Gank-Veaer   文件: ZoomImageView.java
public MultiGestureDetector(Context context) {
    scaleGestureDetector = new ScaleGestureDetector(context, this);

    gestureDetector = new GestureDetector(context, this);
    gestureDetector.setOnDoubleTapListener(this);

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    scaledMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
    scaledTouchSlop = configuration.getScaledTouchSlop();
}
 
源代码7 项目: ZoomImageView   文件: ZoomImageView.java
public MultiGestureDetector(Context context) {
    scaleGestureDetector = new ScaleGestureDetector(context, this);

    gestureDetector = new GestureDetector(context, this);
    gestureDetector.setOnDoubleTapListener(this);

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    scaledMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
    scaledTouchSlop = configuration.getScaledTouchSlop();
}
 
private void init(Context context) {
    matrix = new Matrix();
    boxMargin = new Rect();
    //        scaleTrans.x = 0f;
    //        scaleTrans.y = 0f;
    scaleGestureAble = true;
    checkBox = true;
    scrolling = false;
    translateGestureAble = true;
    mScaleGesture = new ScaleGestureDetector(context, this);
    mGesture = new GestureDetector(context, this);
    mGesture.setOnDoubleTapListener(this);
    gestureAble = true;
}
 
源代码9 项目: Nimingban   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView, boolean zoomable) {
    mImageView = new WeakReference<>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }
            });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));

    mRotateGestureDetector = new RotateGestureDetector(imageView.getContext(), this);

    // Finally, update the UI so that we're zoomable
    setZoomable(zoomable);
}
 
源代码10 项目: zen4android   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }
            });

    mGestureDetector.setOnDoubleTapListener(this);

    // Finally, update the UI so that we're zoomable
    setZoomable(true);
}
 
源代码11 项目: BigApp_Discuz_Android   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }
            });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));

    // Finally, update the UI so that we're zoomable
    setZoomable(true);
}
 
源代码12 项目: android-discourse   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setOnTouchListener(this);

    mViewTreeObserver = imageView.getViewTreeObserver();
    mViewTreeObserver.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (!imageView.isInEditMode()) {
        // Create Gesture Detectors...
        mScaleDragDetector = VersionedGestureDetector.newInstance(imageView.getContext(), this);

        mGestureDetector = new GestureDetector(imageView.getContext(), new GestureDetector.SimpleOnGestureListener() {

            // forward long click listener
            @Override
            public void onLongPress(MotionEvent e) {
                if (null != mLongClickListener) {
                    mLongClickListener.onLongClick(mImageView.get());
                }
            }
        });

        mGestureDetector.setOnDoubleTapListener(this);

        // Finally, update the UI so that we're zoomable
        setZoomable(true);
    }
}
 
源代码13 项目: RelaxFinger   文件: ClipImageView.java
public MultiGestureDetector(Context context) {
	scaleGestureDetector = new ScaleGestureDetector(context, this);

	gestureDetector = new GestureDetector(context, this);
	gestureDetector.setOnDoubleTapListener(this);

	final ViewConfiguration configuration = ViewConfiguration
			.get(context);
	scaledTouchSlop = configuration.getScaledTouchSlop();
}
 
源代码14 项目: Theogony   文件: ZoomImageView.java
public MultiGestureDetector(Context context) {
    scaleGestureDetector = new ScaleGestureDetector(context, this);

    gestureDetector = new GestureDetector(context, this);
    gestureDetector.setOnDoubleTapListener(this);

    final ViewConfiguration configuration = ViewConfiguration.get(context);
    scaledMinimumFlingVelocity = configuration.getScaledMinimumFlingVelocity();
    scaledTouchSlop = configuration.getScaledTouchSlop();
}
 
源代码15 项目: jmessage-android-uikit   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView, boolean fromChatActivity, Context context) {
	mImageView = new WeakReference<ImageView>(imageView);
       mFromChatActivity = fromChatActivity;
       mContext = context;
	imageView.setOnTouchListener(this);

	mViewTreeObserver = imageView.getViewTreeObserver();
	mViewTreeObserver.addOnGlobalLayoutListener(this);

	// Make sure we using MATRIX Scale Type
	setImageViewScaleTypeMatrix(imageView);

	if (!imageView.isInEditMode()) {
		// Create Gesture Detectors...
		mScaleDragDetector = VersionedGestureDetector.newInstance(imageView.getContext(), this);

		mGestureDetector = new GestureDetector(imageView.getContext(),
				new GestureDetector.SimpleOnGestureListener() {

					// forward long click listener
					@Override
					public void onLongPress(MotionEvent e) {
						if(null != mLongClickListener) {
							mLongClickListener.onLongClick(mImageView.get());
						}
					}});

		mGestureDetector.setOnDoubleTapListener(this);

		// Finally, update the UI so that we're zoomable
		setZoomable(true);
	}
}
 
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }
            });

    mGestureDetector.setOnDoubleTapListener(this);

    // Finally, update the UI so that we're zoomable
    setZoomable(true);
}
 
源代码17 项目: iBeebo   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView) {
    mImageView = new WeakReference<ImageView>(imageView);

    imageView.setOnTouchListener(this);

    mViewTreeObserver = imageView.getViewTreeObserver();
    mViewTreeObserver.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (!imageView.isInEditMode()) {
        // Create Gesture Detectors...
        mScaleDragDetector = VersionedGestureDetector.newInstance(imageView.getContext(), this);

        mGestureDetector = new GestureDetector(imageView.getContext(),
                new GestureDetector.SimpleOnGestureListener() {

                    // forward long click listener
                    @Override
                    public void onLongPress(MotionEvent e) {
                        if (null != mLongClickListener) {
                            mLongClickListener.onLongClick(mImageView.get());
                        }
                    }
                });

        mGestureDetector.setOnDoubleTapListener(this);

        // Finally, update the UI so that we're zoomable
        setZoomable(true);
    }
}
 
源代码18 项目: ZoomPreviewPicture   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView, boolean zoomable) {
    mImageView = new WeakReference<>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener&&getImageView().getY()==0&& getImageView().getX()==0) {
                       mLongClickListener.onLongClick(getImageView());
                    }
                }

                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2,
                                       float velocityX, float velocityY) {
                    if (mSingleFlingListener != null) {
                        if (getScale() > DEFAULT_MIN_SCALE) {
                            return false;
                        }

                        if (MotionEventCompat.getPointerCount(e1) > SINGLE_TOUCH
                                || MotionEventCompat.getPointerCount(e2) > SINGLE_TOUCH) {
                            return false;
                        }

                        return mSingleFlingListener.onFling(e1, e2, velocityX, velocityY);
                    }
                    return false;
                }
            });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
    mBaseRotation = 0.0f;

    // Finally, update the UI so that we're zoomable
    setZoomable(zoomable);
}
 
源代码19 项目: AndroidPickPhotoDialog   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView, boolean zoomable) {
    mImageView = new WeakReference<>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer)
        observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(
            imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                // forward long click listener
                @Override
                public void onLongPress(MotionEvent e) {
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getImageView());
                    }
                }

                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2,
                                       float velocityX, float velocityY) {
                    if (mSingleFlingListener != null) {
                        if (getScale() > DEFAULT_MIN_SCALE) {
                            return false;
                        }

                        if (MotionEventCompat.getPointerCount(e1) > SINGLE_TOUCH
                                || MotionEventCompat.getPointerCount(e2) > SINGLE_TOUCH) {
                            return false;
                        }

                        return mSingleFlingListener.onFling(e1, e2, velocityX, velocityY);
                    }
                    return false;
                }
            });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
    mBaseRotation = 0.0f;

    // Finally, update the UI so that we're zoomable
    setZoomable(zoomable);
}
 
源代码20 项目: Album   文件: PhotoViewAttacher.java
public PhotoViewAttacher(ImageView imageView, boolean zoomable) {
    mImageView = new WeakReference<>(imageView);

    imageView.setDrawingCacheEnabled(true);
    imageView.setOnTouchListener(this);

    ViewTreeObserver observer = imageView.getViewTreeObserver();
    if (null != observer) observer.addOnGlobalLayoutListener(this);

    // Make sure we using MATRIX Scale Type
    setImageViewScaleTypeMatrix(imageView);

    if (imageView.isInEditMode()) {
        return;
    }
    // Create Gesture Detectors...
    mScaleDragDetector = VersionedGestureDetector.newInstance(imageView.getContext(), this);

    mGestureDetector = new GestureDetector(imageView.getContext(), new GestureDetector.SimpleOnGestureListener() {

        // forward long click listener
        @Override
        public void onLongPress(MotionEvent e) {
            if (null != mLongClickListener) {
                mLongClickListener.onLongClick(getImageView());
            }
        }

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            if (mSingleFlingListener != null) {
                if (getScale() > DEFAULT_MIN_SCALE) {
                    return false;
                }

                if (MotionEventCompat.getPointerCount(e1) > SINGLE_TOUCH ||
                    MotionEventCompat.getPointerCount(e2) > SINGLE_TOUCH) {
                    return false;
                }

                return mSingleFlingListener.onFling(e1, e2, velocityX, velocityY);
            }
            return false;
        }
    });

    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
    mBaseRotation = 0.0f;

    // Finally, update the UI so that we're zoomable
    setZoomable(zoomable);
}