android.view.GestureDetector.SimpleOnGestureListener#android.support.v4.view.GestureDetectorCompat源码实例Demo

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

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_dragFromEdge, DRAG_EDGE_LEFT);
        mMode = MODE_NORMAL;
        mMinFlingVelocity = DEFAULT_MIN_FLING_VELOCITY;
        mMinDistRequestDisallowParent = DEFAULT_MIN_DIST_REQUEST_DISALLOW_PARENT;
    }

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

    mGestureDetector = new GestureDetectorCompat(context, mGestureListener);
}
 
源代码2 项目: timecat   文件: DragLayout.java
public DragLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    TypedArray typedArray = context.obtainStyledAttributes(attrs, dragLayout, 0, 0);
    bottomDragVisibleHeight = (int) typedArray.getDimension(R.styleable.dragLayout_bottomDragVisibleHeight, 0);
    bottomExtraIndicatorHeight = (int) typedArray.getDimension(R.styleable.dragLayout_bottomExtraIndicatorHeight, 0);
    typedArray.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();
}
 
源代码3 项目: Flora   文件: 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();
            }
        }
    };
}
 
源代码4 项目: 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));
}
 
源代码5 项目: 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);
    }
}
 
源代码6 项目: 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);
    }
}
 
源代码7 项目: 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));
}
 
源代码8 项目: KChartView   文件: MinuteChartView.java
private void init() {
    mDetector = new GestureDetectorCompat(getContext(), this);
    mTopPadding = dp2px(mTopPadding);
    mBottomPadding = dp2px(mBottomPadding);
    mTextSize = sp2px(mTextSize);
    mVolumeHeight=dp2px(mVolumeHeight);
    mGridPaint.setColor(Color.parseColor("#353941"));
    mGridPaint.setStrokeWidth(dp2px(1));
    mTextPaint.setColor(Color.parseColor("#B1B2B6"));
    mTextPaint.setTextSize(mTextSize);
    mTextPaint.setStrokeWidth(dp2px(0.5f));
    mAvgPaint.setColor(Color.parseColor("#90A901"));
    mAvgPaint.setStrokeWidth(dp2px(0.5f));
    mAvgPaint.setTextSize(mTextSize);
    mPricePaint.setColor(Color.parseColor("#FF6600"));
    mPricePaint.setStrokeWidth(dp2px(0.5f));
    mPricePaint.setTextSize(mTextSize);
    mVolumePaintGreen.setColor(ContextCompat.getColor(getContext(), R.color.chart_green));
    mVolumePaintRed.setColor(ContextCompat.getColor(getContext(),R.color.chart_red));
    mBackgroundColor =Color.parseColor("#202326");
    mBackgroundPaint.setColor(mBackgroundColor);

    mVolumeFormatter=new BigValueFormatter();
}
 
源代码9 项目: KChartView   文件: BaseKChartView.java
private void init() {
    setWillNotDraw(false);
    mDetector = new GestureDetectorCompat(getContext(), this);
    mScaleDetector = new ScaleGestureDetector(getContext(), this);
    mTopPadding = (int) getResources().getDimension(R.dimen.chart_top_padding);
    mBottomPadding = (int)getResources().getDimension(R.dimen.chart_bottom_padding);

    mKChartTabView = new KChartTabView(getContext());
    addView(mKChartTabView, new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
    mKChartTabView.setOnTabSelectListener(new KChartTabView.TabSelectListener() {
        @Override
        public void onTabSelected(int type) {
            setChildDraw(type);
        }
    });

    mAnimator = ValueAnimator.ofFloat(0f, 1f);
    mAnimator.setDuration(mAnimationDuration);
    mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            invalidate();
        }
    });
}
 
源代码10 项目: 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);
}
 
源代码11 项目: 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();
}
 
源代码12 项目: 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));
}
 
源代码13 项目: 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;
}
 
@Override
public void onCreate(Bundle savedInstanceState) {
    //  Debug.startMethodTracing("calc");
    final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024);
    Log.i(TAG, " max runtime mem = " + maxMemory + "k");

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    Resources res = getResources();
    analyzerParam = new AnalyzerParameters(res);

    // Initialized preferences by default values
    PreferenceManager.setDefaultValues(this, R.xml.preferences, false);
    // Read preferences and set corresponding variables
    loadPreferenceForView();

    analyzerViews = new AnalyzerViews(this);

    // travel Views, and attach ClickListener to the views that contain android:tag="select"
    visit((ViewGroup) analyzerViews.graphView.getRootView(), new Visit() {
      @Override
      public void exec(View view) {
        view.setOnLongClickListener(AnalyzerActivity.this);
        view.setOnClickListener(AnalyzerActivity.this);
        ((TextView) view).setFreezesText(true);
      }
    }, "select");

    rangeViewDialogC = new RangeViewDialogC(this, analyzerViews.graphView);

    mDetector = new GestureDetectorCompat(this, new AnalyzerGestureListener());
}
 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    dataSource = new BookmarkDataSource(getActivity());
    dataSource.open();
    setRetainInstance(true);

    try {
        if(getArguments()!=null && (getArguments().containsKey(HEADLINE_CLICKED))) {
            mArticleHeadline = getArguments().getString(HEADLINE_CLICKED);
            mArticleURL = BookmarkAdapter.linkMap.get(mArticleHeadline);
            mArticlePubDate = BookmarkAdapter.pubDateMap.get(mArticleHeadline);
            mArticleBody = BookmarkAdapter.articleBody.get(mArticleHeadline);
            mArticleImageURL = BookmarkAdapter.articleImage.get(mArticleHeadline);
            npNameString = BookmarkAdapter.npNameMap.get(mArticleHeadline);
            catNameString = BookmarkAdapter.catNameMap.get(mArticleHeadline);
        } else {
            Crashlytics.log("Get Arguments is null -- "+(null==getArguments()));
        }
    } catch (Exception e) {
        Crashlytics.log("Get Arguments is null -- "+(null==getArguments()));
        Crashlytics.log("Argument contains key -- "+HEADLINE_CLICKED+"--"+(getArguments().containsKey(HEADLINE_CLICKED)));
        Crashlytics.log("Null -- "
                +(mArticleHeadline==null)
                +(mArticleURL==null)
                +(mArticlePubDate==null)
                +(mArticleBody==null)
                +(npNameString==null)
                +(catNameString==null)
                +(mArticleImageURL==null)
        );
    }
    actionBarColor = getResources().getColor(R.color.actionbar_default_color);

    mDetector = new GestureDetectorCompat(getActivity(), new MyGestureListener());
    slide_down = AnimationUtils.loadAnimation(getActivity(), R.anim.slide_down);

}
 
源代码16 项目: kAndroid   文件: BaseKChartView.java
private void init() {
    setWillNotDraw(false);
    mKChartTabView = new KChartTabView(getContext());
    if (showBottomView) {
        mBottomPadding = (int) getResources().getDimension(R.dimen.chart_bottom_padding);//距底部距离
        addView(mKChartTabView, new LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT));
        mKChartTabView.setOnTabSelectListener(new KChartTabView.TabSelectListener() {
            @Override
            public void onTabSelected(int type) {
                setChildDraw(type);
            }
        });
    } else {
        mBottomPadding = 0;//距底部距离
        mMainChildSpace = 0;
    }
    mDetector = new GestureDetectorCompat(getContext(), this);
    mScaleDetector = new ScaleGestureDetector(getContext(), this);
    mAnimator = ValueAnimator.ofFloat(0f, 1f);
    mAnimator.setDuration(mAnimationDuration);
    mAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator animation) {
            invalidate();
        }
    });
}
 
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    dataSource = new BookmarkDataSource(getActivity());
    dataSource.open();
    setRetainInstance(true);
    try {
        if(getArguments()!=null){
            npNameString = getArguments().getString("npName");
            catNameString = getArguments().getString("catName");
            actionBarColor = getArguments().getInt("actionBarColor");

            if (getArguments().containsKey(HEADLINE_CLICKED)) {
                mArticleHeadline = getArguments().getString(HEADLINE_CLICKED);
                mArticleURL = NewsAdapter.linkMap.get(mArticleHeadline);
                mArticlePubDate = NewsAdapter.pubDateMap.get(mArticleHeadline);
            } else {
                Crashlytics.log("Argument contains key -- "+HEADLINE_CLICKED+"--"+(getArguments().containsKey(HEADLINE_CLICKED)));
            }

        } else {
            Crashlytics.log("Get Arguments is null -- "+(null==getArguments()));
        }
    } catch (Exception e) {
        Crashlytics.log("Get Arguments is null -- "+(null==getArguments()));
        Crashlytics.log("Argument contains key -- "+HEADLINE_CLICKED+"--"+(getArguments().containsKey(HEADLINE_CLICKED)));
        Crashlytics.log("Null -- "
                +(npNameString==null)
                +(catNameString==null)
                +(actionBarColor==0)
                +(mArticleHeadline==null)
                +(mArticleURL==null)
                +(mArticlePubDate==null)
        );
    }

    mDetector = new GestureDetectorCompat(getActivity(), new MyGestureListener());
    slide_down = AnimationUtils.loadAnimation(getActivity(), R.anim.slide_down);

}
 
源代码18 项目: kAndroid   文件: BaseView.java
protected void init() {
    mDetector = new GestureDetectorCompat(getContext(), this);

    ViewConfiguration configuration = ViewConfiguration.get(getContext());
    // 获取TouchSlop值
    mTouchSlop = ViewConfigurationCompat.getScaledPagingTouchSlop(configuration);

    mBackgroundColor = Color.parseColor("#101114");
    mBackgroundPaint.setColor(mBackgroundColor);

    mGridPaint.setColor(Color.parseColor("#15FFFFFF")); //网格线颜色
    mGridPaint.setStrokeWidth(dp2px(1));

}
 
源代码19 项目: kAndroid   文件: MinuteChartView.java
private void init() {
        mDetector = new GestureDetectorCompat(getContext(), this);
        mTopPadding = dp2px(mTopPadding);
        mBottomPadding = dp2px(mBottomPadding);
        mTextSize = sp2px(mTextSize);
        mVolumeHeight = dp2px(mVolumeHeight);
        mGridPaint.setColor(ContextCompat.getColor(getContext(), R.color.chart_grid_line));//网络线颜色
        mGridPaint.setStrokeWidth(dp2px(1));
        mTextPaint.setColor(ContextCompat.getColor(getContext(), R.color.chart_text));
        mTextPaint.setTextSize(mTextSize);
        mTextPaint.setStrokeWidth(dp2px(0.5f));
//        mAvgPaint.setColor(ContextCompat.getColor(getContext(), R.color.chart_FFFFFF));
//        mAvgPaint.setStrokeWidth(dp2px(0.5f));
//        mAvgPaint.setTextSize(mTextSize);
        mPricePaint.setColor(ContextCompat.getColor(getContext(), R.color.chart_FFFFFF));
        mPricePaint.setStrokeWidth(dp2px(0.5f));
        mPricePaint.setTextSize(mTextSize);

        mTimePaint.setColor(ContextCompat.getColor(getContext(), R.color.chart_FFFFFF));
        mTimePaint.setStrokeWidth(dp2px(0.5f));
        mTimePaint.setTextSize(mTextSize);


        mVolumePaintGreen.setColor(ContextCompat.getColor(getContext(), R.color.chart_green));//阴线柱状颜色
        mVolumePaintRed.setColor(ContextCompat.getColor(getContext(), R.color.chart_red));//阳线柱状颜色
        mBackgroundColor = ContextCompat.getColor(getContext(), R.color.chart_background);
        mBackgroundPaint.setColor(mBackgroundColor);

        mVolumeFormatter = new BigValueFormatter();

        setSelectorBackgroundColor(ContextCompat.getColor(getContext(), R.color.chart_dialog_bg));
        setSelectorTextSize(sp2px(12));
        setSelectorTextColor(ContextCompat.getColor(getContext(), R.color.chart_white));
    }
 
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mGestureDetector = new GestureDetectorCompat(this, new GestureListener());
    hideSystemUi();
}
 
源代码21 项目: Cinema-App-Concept   文件: MovieSeatView.java
private void initSeatView(Context context, AttributeSet attrs){
    TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.MovieSeatView);
    if(typedArray.hasValue(R.styleable.MovieSeatView_iconOnSale)
            && typedArray.hasValue(R.styleable.MovieSeatView_iconSold)
            && typedArray.hasValue(R.styleable.MovieSeatView_iconSelected)){
        mIconOnSaleResId = typedArray.getResourceId(R.styleable.MovieSeatView_iconOnSale, 0);
        mIconSoldResId = typedArray.getResourceId(R.styleable.MovieSeatView_iconSold, 0);
        mIconSelectedResId = typedArray.getResourceId(R.styleable.MovieSeatView_iconSelected, 0);

        mSeatPadding = (int) (typedArray.getDimension(R.styleable.MovieSeatView_seatPadding, 0f) + 0.5f) * 2;
        mSeatWidth = typedArray.getDimension(R.styleable.MovieSeatView_seatWidth,
                getResources().getDimension(R.dimen.default_seat_width)) + mSeatPadding;
        mSeatHeight = typedArray.getDimension(R.styleable.MovieSeatView_seatHeight,
                getResources().getDimension(R.dimen.default_seat_height)) + mSeatPadding;
        mShowOverview = typedArray.getBoolean(R.styleable.MovieSeatView_showOverView, true);
        mScaleFactorMin = typedArray.getFloat(R.styleable.MovieSeatView_seatScaleFactorMin, mScaleFactorMin);
        mScaleFactorMinBest = typedArray.getFloat(R.styleable.MovieSeatView_seatScaleFactorMinBest, mScaleFactorMinBest);
        mScaleFactorMax = typedArray.getFloat(R.styleable.MovieSeatView_seatScaleFactorMax, mScaleFactorMax);
        mScaleFactorMaxBest = typedArray.getFloat(R.styleable.MovieSeatView_seatScaleFactorMaxBest, mScaleFactorMaxBest);

        typedArray.recycle();
    } else {
        typedArray.recycle();
        throw new RuntimeException("must has iconSeatOnSale, iconSeatSold and iconSeatSelected");
    }


    mScaleGestureDetector = new ScaleGestureDetector(getContext(), mScaleGestureListener);
    mGestureDetector = new GestureDetectorCompat(getContext(), mGestureListener);
}
 
源代码22 项目: Android_UE   文件: ScalableView.java
private void init() {
    // 图片的大小
    mImageSize = Utils.dp2px(300);
    // 获取图片
    mBitmap = Utils.getDrawableBitmap(getContext(), R.drawable.icon_android_road, mImageSize);
    // 画笔
    mPaint = new Paint(Paint.ANTI_ALIAS_FLAG);

    //
    gestureDetectorCompat = new GestureDetectorCompat(getContext(), this);
    gestureDetectorCompat.setOnDoubleTapListener(this);
    scroller = new OverScroller(getContext());
    scaleGestureDetector = new ScaleGestureDetector(getContext(), new ScaleImageScaleGestureDetector());
}
 
源代码23 项目: paper-launcher   文件: WorkspaceLayout.java
@SuppressLint("ClickableViewAccessibility")
public WorkspaceLayout(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);

    GestureDetectorCompat gestureDetectorCompat
            = new GestureDetectorCompat(getContext(), new CustomGestureDetector(this));

    setOnTouchListener((view, motionEvent) -> {
        gestureDetectorCompat.onTouchEvent(motionEvent);

        return true;
    });
}
 
源代码24 项目: TestChat   文件: BaseItemClickListener.java
@Override
        public boolean onInterceptTouchEvent(RecyclerView rv, MotionEvent e) {
                LogUtil.e("onInterceptTouchEvent_RecyclerView");
                if (mRecyclerView == null) {
                        mRecyclerView = rv;
                        mBaseWrappedAdapter = (BaseWrappedAdapter) mRecyclerView.getAdapter();
                        mGestureDetectorCompat = new GestureDetectorCompat(mRecyclerView.getContext(),
                                new CustomOnGestureListener(mRecyclerView));
                }
//                这里恢复长按下效果
                if (!mGestureDetectorCompat.onTouchEvent(e) && e.getAction() == MotionEvent.ACTION_UP
                        && isPressing) {
                        if (mPressedView != null) {
//                                这里要排除头部和底部view
                                RecyclerView.ViewHolder viewHolder = mRecyclerView.getChildViewHolder(mPressedView);
                                if (viewHolder == null || !isHeaderViewOrFooterView(viewHolder.getItemViewType())) {
                                        mPressedView.setPressed(false);
                                        if (mPressedView instanceof ViewGroup) {
                                                ViewGroup viewGroup = (ViewGroup) mPressedView;
                                                for (int i = 0; i < viewGroup.getChildCount(); i++) {
                                                        if (!viewGroup.getChildAt(i).isPressed()) {
                                                                viewGroup.getChildAt(i).setPressed(false);
                                                        }
                                                }
                                        }
                                }
                        }
//                        重置
                        isPressing = false;
                }
//                不中断
                return false;
        }
 
public GLDrawer(Context context, AttributeSet attributeSet) {
    super(context, attributeSet);

    setEGLContextClientVersion(2);

    listener = null;
    gestureDetector = new GestureDetectorCompat(context, new MenuGestureListener());
    scroller = new Scroller(context);
    glRenderer = new GLRenderer();
    setRenderer(glRenderer);
}
 
public GLDrawer(Context context, AttributeSet attributeSet) {
    super(context, attributeSet);

    setEGLContextClientVersion(2);

    listener = null;
    gestureDetector = new GestureDetectorCompat(context, new MenuGestureListener());
    scroller = new Scroller(context);
    glRenderer = new GLRenderer();
    setRenderer(glRenderer);
}
 
源代码27 项目: imageres_resolution   文件: ScrollableImageView.java
public ScrollableImageView(Context context, @Nullable AttributeSet attrs) {
    super(context, attrs);

    DisplayMetrics dm = getResources().getDisplayMetrics();
    screenW = dm.widthPixels;
    screenH = dm.heightPixels;

    gestureDetector = new GestureDetectorCompat(context, gestureListener);
    overScroller = new OverScroller(context);
}
 
源代码28 项目: v2ex-daily-android   文件: PhotoView.java
/**
 * Initializes the header and any static values
 */
private void initialize() {
    Context context = getContext();

    if (!sInitialized) {
        sInitialized = true;

        Resources resources = context.getApplicationContext().getResources();

        sCropSize = resources.getDimensionPixelSize(R.dimen.photo_crop_width);

        sCropDimPaint = new Paint();
        sCropDimPaint.setAntiAlias(true);
        sCropDimPaint.setColor(resources.getColor(R.color.photo_crop_dim_color));
        sCropDimPaint.setStyle(Style.FILL);

        sCropPaint = new Paint();
        sCropPaint.setAntiAlias(true);
        sCropPaint.setColor(resources.getColor(R.color.photo_crop_highlight_color));
        sCropPaint.setStyle(Style.STROKE);
        sCropPaint.setStrokeWidth(resources.getDimension(R.dimen.photo_crop_stroke_width));

        final ViewConfiguration configuration = ViewConfiguration.get(context);
        final int touchSlop = configuration.getScaledTouchSlop();
        sTouchSlopSquare = touchSlop * touchSlop;
    }

    mGestureDetector = new GestureDetectorCompat(context, this, null);
    mScaleGetureDetector = new ScaleGestureDetector(context, this);
    mQuickScaleEnabled = ScaleGestureDetectorCompat.isQuickScaleEnabled(mScaleGetureDetector);
    mScaleRunnable = new ScaleRunnable(this);
    mTranslateRunnable = new TranslateRunnable(this);
    mSnapRunnable = new SnapRunnable(this);
    mRotateRunnable = new RotateRunnable(this);
}
 
源代码29 项目: Tangram-Android   文件: SwipeItemTouchListener.java
public SwipeItemTouchListener(Context context, GroupBasicAdapter groupBasicAdapter, RecyclerView recyclerView) {
    this.mGroupBasicAdapter = groupBasicAdapter;
    this.recyclerView = recyclerView;
    this.recyclerView.addOnScrollListener(scrollListener);
    this.layoutManager = (VirtualLayoutManager) recyclerView.getLayoutManager();
    mSwipeGestureDector = new GestureDetectorCompat(context, new SwipeGestureListener());
    mChildList = new ArrayList<>();
}
 
源代码30 项目: narrate-android   文件: EntryListDialogFragment.java
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mGestureDetector = new GestureDetectorCompat(getActivity(), new GestureListener());
    setRetainInstance(true);

    if ( savedInstanceState != null )
        mItems = savedInstanceState.getParcelableArrayList(STATE_ENTRIES);
}