Java 类android.support.v4.view.GestureDetectorCompat 实例源码

项目:GitHub    文件:SimpleClickListener.java   
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {

    if (recyclerView == null) {
        this.recyclerView = rv;
        this.baseQuickAdapter = (BaseQuickAdapter) recyclerView.getAdapter();
        mGestureDetector = new GestureDetectorCompat(recyclerView.getContext(), new ItemTouchHelperGestureListener(recyclerView));
    }
    if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
        if (mPressedView!=null){
            mPressedView.setPressed(false);
            mPressedView = null;
        }
        mIsShowPress = false;
        mIsPrepressed = false;


    }
    return false;
}
项目:GitHub    文件:DragLayout.java   
public DragLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.app, 0, 0);
    bottomDragVisibleHeight = (int) a.getDimension(R.styleable.app_bottomDragVisibleHeight, 0);
    bototmExtraIndicatorHeight = (int) a.getDimension(R.styleable.app_bototmExtraIndicatorHeight, 0);
    a.recycle();

    mDragHelper = ViewDragHelper
            .create(this, 10f, new DragHelperCallback());
    mDragHelper.setEdgeTrackingEnabled(ViewDragHelper.EDGE_TOP);
    moveDetector = new GestureDetectorCompat(context, new MoveDetector());
    moveDetector.setIsLongpressEnabled(false); // 不处理长按事件

    // 滑动的距离阈值由系统提供
    ViewConfiguration configuration = ViewConfiguration.get(getContext());
    mTouchSlop = configuration.getScaledTouchSlop();
}
项目:PicKing    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:Widgets    文件:SlideLayout.java   
private void init(Context context, AttributeSet attrs) {
    //获取相关属性设置
    TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.SlideLayout);
    mAlphaColor = ta.getColor(R.styleable.SlideLayout_sl_anim_alpha_color, DEF_ANIM_ALPHA_COLOR);
    mEdgeEnable = ta.getBoolean(R.styleable.SlideLayout_sl_edge_enable, DEF_EDGE_ENABLE);
    mMainAlphaEnable = ta.getBoolean(R.styleable.SlideLayout_sl_main_alpha_enable, DEF_MAIN_ALPHA_ENABLE);
    ta.recycle();

    //初始化ViewDragHelper相关
    mCallback = new DragCallback();
    mDragHelper = ViewDragHelper.create(this, DEF_SENSITIVITY, mCallback);

    if (mEdgeEnable) {
        //设置边缘滑动检测
        mDragHelper.setEdgeTrackingEnabled(ViewDragHelper.EDGE_LEFT);
        //设置最小滑动速度
        mDragHelper.setMinVelocity(DEF_SENSITIVITY * DEF_MIN_FLING_VELOCITY);
    }

    //初始化屏幕触控处理相关
    mGestureListener = new GestureListener();
    mGestureDetector = new GestureDetectorCompat(context, mGestureListener);

    //设置初始状态为关闭
    mStatus = Status.CLOSED;
}
项目:DMS    文件:CalendarView.java   
/**
 * Constructor with arguments. It receives a
 * Context used to get the resources.
 *
 * @param context - the context used to get the resources.
 * @param attrs   - attribute set with custom styles.
 */
public CalendarView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mContext = context;

    //Initialize the gesture listener needed..
    mGestureDetector = new GestureDetectorCompat(context, new CalendarGestureDetector());

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.CUPCAKE) {
        if (isInEditMode()) {
            return;
        }
    }

    getAttributes(attrs);
    init();
}
项目:Tribe    文件:DraggableSquareView.java   
public DraggableSquareView(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    mDragHelper = ViewDragHelper
            .create(this, 10f, new DragHelperCallback());
    moveDetector = new GestureDetectorCompat(context,
            new MoveDetector());
    moveDetector.setIsLongpressEnabled(false); // 不能处理长按事件,否则违背最初设计的初衷
    spaceInterval = (int) getResources().getDimension(R.dimen.drag_square_interval); // 小方块之间的间隔

    // 滑动的距离阈值由系统提供
    ViewConfiguration configuration = ViewConfiguration.get(getContext());
    mTouchSlop = configuration.getScaledTouchSlop();

    anchorHandler = new Handler() {
        @Override
        public void handleMessage(Message msg) {
            if (draggingView != null) {
                // 开始移动重心的动画
                draggingView.startAnchorAnimation();
            }
        }
    };
}
项目:PiPle    文件:Window.java   
public Window(Context context) {
    super(context);
    this.setFocusable(true);
    this.setFocusableInTouchMode(true);




    //used for checking the total size needed for all the bubble to be reachable but not being able to go for miles
    //without any stops
    totalscreensize.put("up",0);
    totalscreensize.put("down",0);
    totalscreensize.put("right",0);
    totalscreensize.put("left",0);
    currentmessage="";

    mDetector=new GestureDetectorCompat(getContext(),this);


    WindowManager wm =(WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
    Display dis = wm.getDefaultDisplay();
    Point pt = new Point();
    dis.getSize(pt);
    Center = new Point(pt.x/centerX,pt.y/centerY);
}
项目:Blockly    文件:PendingDrag.java   
/**
 * Constructs a new PendingDrag that, if accepted by the DragHandler, begins with the
 * {@code actionDown} event.
 *
 * @param controller The activity's {@link BlocklyController}.
 * @param touchedView The initial touched {@link BlockView} of the drag.
 * @param actionDown The first {@link MotionEvent#ACTION_DOWN} event.
 */
PendingDrag(@NonNull BlocklyController controller,
            @NonNull BlockView touchedView, @NonNull MotionEvent actionDown) {
    if (actionDown.getAction() != MotionEvent.ACTION_DOWN) {
        throw new IllegalArgumentException();
    }

    mController = controller;
    mHelper = controller.getWorkspaceHelper();

    mLatestEventTime = actionDown.getEventTime();

    mTouchedView = touchedView;

    mPointerId = actionDown.getPointerId(actionDown.getActionIndex());
    int pointerIdx = actionDown.findPointerIndex(mPointerId);
    mTouchDownBlockX = (int) actionDown.getX(pointerIdx);
    mTouchDownBlockY = (int) actionDown.getY(pointerIdx);

    touchedView.getTouchLocationOnScreen(actionDown, mTouchDownScreen);
    mHelper.screenToWorkspaceCoordinates(mTouchDownScreen, mTouchDownWorkspace);

    mGestureDetector = new GestureDetectorCompat(mController.getContext(),
            new GestureListener());
    mGestureDetector.onTouchEvent(actionDown);
}
项目:microMathematics    文件:TwoDScrollView.java   
private void prepare(AttributeSet attrs)
{
    setFocusable(true);
    setDescendantFocusability(FOCUS_AFTER_DESCENDANTS);
    setWillNotDraw(false);
    mScroller = new Scroller(getContext());
    mScaleGestureDetector = new ScaleGestureDetector(getContext(), mScaleListener);
    mGestureDetector = new GestureDetectorCompat(getContext(), mGestureListener);
    if (attrs != null)
    {
        TypedArray a = getContext().obtainStyledAttributes(attrs, R.styleable.CustomViewExtension, 0, 0);
        autoScrollMargins = a.getDimensionPixelSize(R.styleable.CustomViewExtension_autoScrollMargins, 0);
        a.recycle();
    }
    mEdgeGlowLeft = new EdgeEffectCompat(getContext());
    mEdgeGlowTop = new EdgeEffectCompat(getContext());
    mEdgeGlowRight = new EdgeEffectCompat(getContext());
    mEdgeGlowBottom = new EdgeEffectCompat(getContext());
    setWillNotDraw(false);
}
项目:SSTVEncoder2    文件:CropView.java   
public CropView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mDetectorCompat = new GestureDetectorCompat(getContext(), new GestureListener());
    mScaleDetector = new ScaleGestureDetector(getContext(), new ScaleGestureListener());

    mBitmapOptions = new BitmapFactory.Options();

    mPaint = new Paint(Paint.FILTER_BITMAP_FLAG);
    mRectPaint = new Paint();
    mRectPaint.setStyle(Paint.Style.STROKE);
    mRectPaint.setStrokeWidth(1f);
    mBorderPaint = new Paint();
    mBorderPaint.setColor(Color.BLACK);

    mCanvasDrawRect = new Rect();
    mImageDrawRect = new Rect();
    mCacheRect = new Rect();
    mOutputRect = new Rect();

    mSmallImage = false;
    mImageOK = false;

    mLabelCollection = new LabelCollection();
}
项目:SVG_taiwan_View    文件:MapView.java   
private void init(Context context) {
    this.context = context;

    paint = new Paint();
    paint.setAntiAlias(true);
    loadDataThread.start();
    gestureDetectorCompat = new GestureDetectorCompat(context,new GestureDetector.SimpleOnGestureListener(){
        @Override
        public boolean onDown(MotionEvent e) {

            handlerTouch(e.getX(),e.getY());

            return true;
        }
    });

    minWidth = context.getResources().getDimensionPixelOffset(R.dimen.min_width);
    minHeight = context.getResources().getDimensionPixelOffset(R.dimen.min_height);


}
项目:decoy    文件:SimpleClickListener.java   
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
    if (!shouldDetectGesture()) {
        return false; // 拦截手势检测
    }

    // 手势检测
    if (recyclerView == null) {
        this.recyclerView = rv;
        this.baseAdapter = (T) recyclerView.getAdapter();
        mGestureDetector = new GestureDetectorCompat(recyclerView.getContext(), new ItemTouchHelperGestureListener(recyclerView));
    }
    if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
        if (mPressedView != null) {
            BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView);
            if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != FETCHING_VIEW) {
                mPressedView.setPressed(false);
            }
            mPressedView = null;
        }
        mIsShowPress = false;
        mIsPrepressed = false;
    }

    return false;
}
项目:RLibrary    文件:RGestureDetector.java   
/**
 * 双击
 */
public static void onDoubleTap(@NonNull View targetView, @NonNull final OnDoubleTapListener onDoubleTapListener) {
    final GestureDetectorCompat gestureDetectorCompat = new GestureDetectorCompat(targetView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override
                public boolean onDoubleTap(MotionEvent e) {
                    onDoubleTapListener.onDoubleTap();
                    return super.onDoubleTap(e);
                }
            });
    targetView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            gestureDetectorCompat.onTouchEvent(event);
            return false;
        }
    });
}
项目:RLibrary    文件:StickLayout2.java   
private void initLayout() {
    mOverScroller = new OverScroller(getContext());
    mGestureDetectorCompat = new GestureDetectorCompat(getContext(),
            new GestureDetector.SimpleOnGestureListener() {

                @Override
                public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, final float velocityY) {
                    if (Math.abs(velocityX) > Math.abs(velocityY)) {
                        return false;
                    }

                    if (isFloat() /*&& velocityY < 0*/) {
                        return false;
                    }
                    fling(velocityY);
                    return true;
                }
            });
}
项目:TagViewGroup    文件:TagViewGroup.java   
public TagViewGroup(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    Resources.Theme theme = context.getTheme();
    TypedArray array = theme.obtainStyledAttributes(attrs, R.styleable.TagViewGroup, defStyleAttr, 0);
    mRadius = array.getDimensionPixelSize(R.styleable.TagViewGroup_radius, DipConvertUtils.dip2px(context, DEFAULT_RADIUS));
    mInnerRadius = array.getDimensionPixelSize(R.styleable.TagViewGroup_inner_radius, DipConvertUtils.dip2px(context, DEFAULT_INNER_RADIUS));
    mTDistance = array.getDimensionPixelSize(R.styleable.TagViewGroup_tilt_distance, DipConvertUtils.dip2px(context, DEFAULT_TILT_DISTANCE));
    mVDistance = array.getDimensionPixelSize(R.styleable.TagViewGroup_v_distance, DipConvertUtils.dip2px(context, DEFAULT_V_DISTANCE));
    mLinesWidth = array.getDimensionPixelSize(R.styleable.TagViewGroup_line_width, DipConvertUtils.dip2px(context, DEFAULT_LINES_WIDTH));
    mRippleMaxRadius = array.getDimensionPixelSize(R.styleable.TagViewGroup_ripple_maxRadius, DipConvertUtils.dip2px(context, DEFAULT_RIPPLE_MAX_RADIUS));
    mRippleAlpha = array.getInteger(R.styleable.TagViewGroup_ripple_alpha, DEFULT_RIPPLE_ALPHA);
    mRippleMinRadius = mInnerRadius + (mRadius - mInnerRadius) / 2;
    array.recycle();
    mPaint = new Paint();
    mPath = new Path();
    mDstPath = new Path();
    mPathMeasure = new PathMeasure();
    mPaint.setAntiAlias(true);
    mGestureDetector = new GestureDetectorCompat(context, new TagOnGestureListener());
    mChildUsed = new int[4];
    mCenterRect = new RectF();
}
项目:android-photo-picker    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:narrate-android    文件:CalendarFragment.java   
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mLandscape = getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE;
    mGestureDetector = new GestureDetectorCompat(getActivity(), new GestureListener());

    if ( mLandscape ) {
        mainActivity.mViewPagerListeners.add(this);
    }

    if ( savedInstanceState != null ) {
        long date = savedInstanceState.getLong(SAVE_DATE, -1);

        if ( date > 0 )
            mCalendar.setTimeInMillis(date);
    }
}
项目:CanPhotos    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:AndroidMVP-Dagger2-JavaRx-ActiveAndroidORM    文件:DataListFragment.java   
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_data_list, container, false);

    if (view instanceof RecyclerView) {
        Context context = view.getContext();
        recyclerView = (RecyclerView) view;
        recyclerView.setLayoutManager(new LinearLayoutManager(context));
        recyclerView.addOnItemTouchListener(this);

        adapter = new DataRecyclerViewAdapter(taskArrayList, DataListFragment.this);
        recyclerView.setAdapter(adapter);

        gestureDetector =
                new GestureDetectorCompat(getActivity(), new RecyclerViewDemoOnGestureListener());
    }
    return view;
}
项目:locus-addon-wearables    文件:RecordingScrollLayout.java   
private void setCustomScrolling() {
    mGestureDetector = new GestureDetectorCompat(getContext(), new MyGestureDetector());
    setOnTouchListener((v, event) -> {
        //If the user swipes
        if (mGestureDetector.onTouchEvent(event)) {
            return true;
        } else if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) {
            int featureHeight = v.getMeasuredHeight();
            mActiveFeature = ((getScrollY() + (featureHeight / 2)) / featureHeight);
            int scrollTo = mActiveFeature * featureHeight;
            smoothScrollTo(0, scrollTo);
            return true;
        } else {
            return false;
        }
    });
}
项目:DGameDetail    文件:MainActivity.java   
/**
 * 初始化参数
 */
private void initParams() {
    mDetector = new GestureDetectorCompat(this, new SimpleGestureAction());
    mStateBarH = AndroidUtils.getStatusBarHeight(this);
    mHeadH = (int) getResources().getDimension(R.dimen.game_detail_head_height);
    mBarH = (int) getResources().getDimension(R.dimen.tool_bar_height);
    mScreenH = AndroidUtils.getScreenParams(this)[1];
    mNBarH = AndroidUtils.getNavigationBarHeight(this);
    mTopL = -mHeadH + mBarH;
    mCenterL = DensityUtils.dp2px(150);
    mBottomL = mScreenH - mStateBarH - mNBarH - mHeadH + mBarH;
    mRootView = findViewById(android.R.id.content);
    //处理4.4之后状态栏
    if (AndroidVersionUtil.hasKitKat()) {
        mTemp.setVisibility(View.VISIBLE);
        mToolBar.setTranslationY(mStateBarH);
        mTemp.getLayoutParams().height = mStateBarH;
    } else {
        mTemp.setVisibility(View.GONE);
    }
}
项目:SwipeMenuRecyclerView-master    文件:SwipeMenuLayout.java   
public void init() {
    mGestureListener = new SimpleOnGestureListener() {
        @Override
        public boolean onDown(MotionEvent e) {
            isFling = false;
            return true;
        }

        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2,
                               float velocityX, float velocityY) {

            if (velocityX > mViewConfiguration.getScaledMinimumFlingVelocity() || velocityY > mViewConfiguration.getScaledMinimumFlingVelocity())
                isFling = true;
            return isFling;
        }
    };
    mGestureDetector = new GestureDetectorCompat(getContext(),
            mGestureListener);

    mCloseScroller = ScrollerCompat.create(getContext());
    mOpenScroller = ScrollerCompat.create(getContext());
}
项目:SprintNBA    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:SwipeRevealLayout    文件:SwipeRevealLayout.java   
private void init(Context context, AttributeSet attrs) {
    if (attrs != null && context != null) {
        TypedArray a = context.getTheme().obtainStyledAttributes(
                attrs,
                R.styleable.SwipeRevealLayout,
                0, 0
        );

        mDragEdge = a.getInteger(R.styleable.SwipeRevealLayout_dragEdge, DRAG_EDGE_LEFT);
        mMinFlingVelocity = a.getInteger(R.styleable.SwipeRevealLayout_flingVelocity, DEFAULT_MIN_FLING_VELOCITY);
        mMode = a.getInteger(R.styleable.SwipeRevealLayout_mode, MODE_NORMAL);

        mMinDistRequestDisallowParent = a.getDimensionPixelSize(
                R.styleable.SwipeRevealLayout_minDistRequestDisallowParent,
                dpToPx(DEFAULT_MIN_DIST_REQUEST_DISALLOW_PARENT)
        );
    }

    mDragHelper = ViewDragHelper.create(this, 1.0f, mDragHelperCallback);
    mDragHelper.setEdgeTrackingEnabled(ViewDragHelper.EDGE_ALL);

    mGestureDetector = new GestureDetectorCompat(context, mGestureListener);
}
项目:AndroidBase    文件:SimpleClickListener.java   
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {

    if (recyclerView == null) {
        this.recyclerView = rv;
        this.baseQuickAdapter = (BaseQuickAdapter) recyclerView.getAdapter();
        mGestureDetector = new GestureDetectorCompat(recyclerView.getContext(), new ItemTouchHelperGestureListener(recyclerView));
    }
    if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
        if (mPressedView!=null){
            mPressedView.setPressed(false);
            mPressedView = null;
        }
        mIsShowPress = false;
        mIsPrepressed = false;


    }
    return false;
}
项目:MotionViews-Android    文件:MotionView.java   
private void init(@NonNull Context context) {
    // I fucking love Android
    setWillNotDraw(false);

    selectedLayerPaint = new Paint();
    selectedLayerPaint.setAlpha((int) (255 * Constants.SELECTED_LAYER_ALPHA));
    selectedLayerPaint.setAntiAlias(true);

    // init listeners
    this.scaleGestureDetector = new ScaleGestureDetector(context, new ScaleListener());
    this.rotateGestureDetector = new RotateGestureDetector(context, new RotateListener());
    this.moveGestureDetector = new MoveGestureDetector(context, new MoveListener());
    this.gestureDetectorCompat = new GestureDetectorCompat(context, new TapsListener());

    setOnTouchListener(onTouchListener);

    updateUI();
}
项目:AyoSunny    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:AndroidImageSelect    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:SSTVEncoder    文件:CropView.java   
public CropView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mDetectorCompat = new GestureDetectorCompat(getContext(), new GestureListener());
    mScaleDetector = new ScaleGestureDetector(getContext(), new ScaleGestureListener());

    mBitmapOptions = new BitmapFactory.Options();

    mPaint = new Paint(Paint.FILTER_BITMAP_FLAG);
    mRectPaint = new Paint();
    mRectPaint.setStyle(Paint.Style.STROKE);
    mBorderPaint = new Paint();
    mBorderPaint.setColor(Color.BLACK);

    mCanvasDrawRect = new Rect();
    mImageDrawRect = new Rect();
    mCacheRect = new Rect();

    mSmallImage = false;
    mImageOK = false;

    mLabelHandler = new LabelHandler();
}
项目:sagetv-miniclient    文件:UIGestureListener.java   
public void processRawEvent(GestureDetectorCompat mDetector, MotionEvent e) {
    // record the touches
    setTouches(e);
    if (edgesTouched == 0 && e.getAction() == MotionEvent.ACTION_DOWN) {
        edgesTouched = getEdgesTouched((int) e.getX(), (int) e.getY());
        if (edgesTouched != 0) {
            log.debug("Edges Touched: {}", edgesTouched);
        }
    }
    mDetector.onTouchEvent(e);

    if (touchFocusEnabled) {
        if (e.getAction() == MotionEvent.ACTION_MOVE) {
            if (logTouch) log.debug("onMouseMove: {},{}", X(e), Y(e));
            client.getCurrentConnection().postMouseEvent(new MouseEvent(this, MouseEvent.MOUSE_MOVED, System.currentTimeMillis(), 0, X(e), Y(e), 0, 0, 0));
        }
    }

    if (edgesTouched != 0 && (e.getAction() == MotionEvent.ACTION_UP || e.getAction() == MotionEvent.ACTION_POINTER_UP)) {
        log.debug("Clearing Touched Edges");
        edgesTouched = 0;
    }
}
项目: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);
    }

    // TODO(youngseokyoon): consolidate the Tracker into UserActionLogger
    mLogger = UserActionLogger.getInstance(this);
    mGestureListener = new GestureListener(this);
    mGestureDetector = new GestureDetectorCompat(this, mGestureListener);
    mGestureDetector.setOnDoubleTapListener(mGestureListener);
}
项目:DragPaneLayout    文件:DragPaneLayout.java   
public DragPaneLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    mDensity = context.getResources().getDisplayMetrics().density;

    mViewDragCallback = new ViewDragCallback();
    mDragHelper = ViewDragHelper.create(this, TOUCH_SLOP_SENSITIVITY, mViewDragCallback);
    mDragHelper.setMinVelocity(MIN_FLING_VELOCITY * mDensity);

    ViewCompat.setImportantForAccessibility(this,
               ViewCompat.IMPORTANT_FOR_ACCESSIBILITY_NO);

    // So that we can catch the back button ?
       setFocusableInTouchMode(true);
       setClickable(true);
       ViewGroupCompat.setMotionEventSplittingEnabled(this, false);

       mGestureDetector = new GestureDetectorCompat(context, mGestureListener);
}
项目:IBM-Ready-App-for-Telecommunications    文件:RechargeActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_recharge);
    detector = new GestureDetectorCompat(this, new GestureListener());
    ButterKnife.bind(this);

    setupToolbar();

    Bundle extras = getIntent().getExtras();
    if (extras != null) {
        @PlanConstants.Type int type = extras.getInt(TYPE_BUNDLE_KEY);
        presenter = new RechargePresenterImpl(this, type, getRechargeTitle(type));
        presenter.createRecharge();
    }
}
项目:TLint    文件:Attacher.java   
public Attacher(DraweeView<GenericDraweeHierarchy> draweeView) {
    mDraweeView = new WeakReference<>(draweeView);
    draweeView.getHierarchy().setActualImageScaleType(ScalingUtils.ScaleType.FIT_CENTER);
    draweeView.setOnTouchListener(this);
    mScaleDragDetector = new ScaleDragDetector(draweeView.getContext(), this);
    mGestureDetector = new GestureDetectorCompat(draweeView.getContext(),
            new GestureDetector.SimpleOnGestureListener() {
                @Override
                public void onLongPress(MotionEvent e) {
                    super.onLongPress(e);
                    if (null != mLongClickListener) {
                        mLongClickListener.onLongClick(getDraweeView());
                    }
                }
            });
    mGestureDetector.setOnDoubleTapListener(new DefaultOnDoubleTapListener(this));
}
项目:AndroidRubberIndicator    文件:MainActivity.java   
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    // set gesture detector
    mDetector = new GestureDetectorCompat(this, new MyGestureListener());

    mRubberIndicator = (RubberIndicator) findViewById(R.id.rubber);
    mTextView = (TextView) findViewById(R.id.focus_position);

    // check to see if savedInstanceState is null
    if (savedInstanceState != null) {
        mRubberIndicator.setCount(savedInstanceState.getInt(KEY_INDICATOR_ITEM_NUM), savedInstanceState.getInt(KEY_INDICATOR_POSITION));
    } else {
        mRubberIndicator.setCount(indicatorItemNum, 2);
    }

    //mRubberIndicator.setCount(5, 2);
    mRubberIndicator.setOnMoveListener(this);
    updateFocusPosition();
}
项目:NIM_Android_UIKit    文件:SimpleClickListener.java   
@Override
public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
    if (!shouldDetectGesture()) {
        return false; // 拦截手势检测
    }

    // 手势检测
    if (recyclerView == null) {
        this.recyclerView = rv;
        this.baseAdapter = (T) recyclerView.getAdapter();
        mGestureDetector = new GestureDetectorCompat(recyclerView.getContext(), new ItemTouchHelperGestureListener(recyclerView));
    }
    if (!mGestureDetector.onTouchEvent(e) && e.getActionMasked() == MotionEvent.ACTION_UP && mIsShowPress) {
        if (mPressedView != null) {
            BaseViewHolder vh = (BaseViewHolder) recyclerView.getChildViewHolder(mPressedView);
            if (vh == null || vh.getItemViewType() != IRecyclerView.LOADING_VIEW || vh.getItemViewType() != IRecyclerView.FETCHING_VIEW) {
                mPressedView.setPressed(false);
            }
            mPressedView = null;
        }
        mIsShowPress = false;
        mIsPrepressed = false;
    }

    return false;
}
项目:SSTVEncoder    文件:CropView.java   
public CropView(Context context, AttributeSet attrs) {
    super(context, attrs);
    mDetectorCompat = new GestureDetectorCompat(getContext(), new GestureListener());
    mScaleDetector = new ScaleGestureDetector(getContext(), new ScaleGestureListener());

    mBitmapOptions = new BitmapFactory.Options();

    mPaint = new Paint(Paint.FILTER_BITMAP_FLAG);
    mRectPaint = new Paint();
    mRectPaint.setStyle(Paint.Style.STROKE);
    mBorderPaint = new Paint();
    mBorderPaint.setColor(Color.BLACK);

    mCanvasDrawRect = new Rect();
    mImageDrawRect = new Rect();
    mCacheRect = new Rect();

    mSmallImage = false;
    mImageOK = false;

    mLabelHandler = new LabelHandler();
}
项目:Orpheus    文件: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 {
            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();
}
项目:SyncedListView    文件:SyncedListLayout.java   
private void init(Context context, AttributeSet attrs ) {

        TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.SyncedListLayout);
        try{
            mLeftListId = a.getResourceId(R.styleable.SyncedListLayout_left_id, 0);
            mRightListId = a.getResourceId(R.styleable.SyncedListLayout_right_id, 0);
            mLeftScrollFactor = a.getFloat(R.styleable.SyncedListLayout_left_scroll_factor, 1f);
            mRightScrollFactor = a.getFloat(R.styleable.SyncedListLayout_right_scroll_factor, 1f);
        }finally {
            a.recycle();
        }

        WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);
        DisplayMetrics metric = new DisplayMetrics();
        wm.getDefaultDisplay().getMetrics(metric);
        mAnimationVelocity = (int)(DEFAULT_VELOCITY * metric.density);

        gestureDetector = new GestureDetectorCompat(context, gestureListener);
        mScroller = new Scroller(context);

        mAnimationRunnable = new AnimationRunnable(context);
        mFlingRunnable = new FlingRunnable();
    }
项目:FitBuddy    文件:PagerOnTouchListener.java   
public PagerOnTouchListener(Activity activity) {
    PagerOnTouchListener touchListener = this;
    ViewConfiguration viewConfiguration = ViewConfiguration.get(activity);
    int minSwipeDistance = viewConfiguration.getScaledPagingTouchSlop();
    int velocity = viewConfiguration.getScaledMinimumFlingVelocity();

    gdt = new GestureDetectorCompat(activity,
            new PagerOnGestureListener(minSwipeDistance, velocity) {

                @Override
                public void onSwipeLeft() {
                    touchListener.onSwipeLeft();
                }

                @Override
                public void onSwipeRight() {
                    touchListener.onSwipeRight();
                }
            });
}