当前位置: 首页>>代码示例>>Java>>正文


Java MotionEventCompat类代码示例

本文整理汇总了Java中android.support.v4.view.MotionEventCompat的典型用法代码示例。如果您正苦于以下问题:Java MotionEventCompat类的具体用法?Java MotionEventCompat怎么用?Java MotionEventCompat使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


MotionEventCompat类属于android.support.v4.view包,在下文中一共展示了MotionEventCompat类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(MotionEvent ev) {
    final int action = MotionEventCompat.getActionMasked(ev);

    if (mReturningToStart && action == MotionEvent.ACTION_DOWN) {
        mReturningToStart = false;
    }
    if (!isEnabled() || mReturningToStart
            || (!isChildScrollToTop() && !isChildScrollToBottom())) {
        // 如果子View可以滑动,不拦截事件,交给子View处理
        return false;
    }

    if (isChildScrollToBottom()) {
        // 上拉加载更多
        return handlerPushTouchEvent(ev, action);
    } else {
        // 下拉刷新
        return handlerPullTouchEvent(ev, action);
    }
}
 
开发者ID:newDeepLearing,项目名称:decoy,代码行数:22,代码来源:SuperSwipeRefreshLayout.java

示例2: onGenericMotionEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
public boolean onGenericMotionEvent(MotionEvent event) {
    if (!(this.mLayout == null || this.mLayoutFrozen || (MotionEventCompat.getSource(event) & 2) == 0 || event.getAction() != 8)) {
        float vScroll;
        float hScroll;
        if (this.mLayout.canScrollVertically()) {
            vScroll = -MotionEventCompat.getAxisValue(event, 9);
        } else {
            vScroll = 0.0f;
        }
        if (this.mLayout.canScrollHorizontally()) {
            hScroll = MotionEventCompat.getAxisValue(event, 10);
        } else {
            hScroll = 0.0f;
        }
        if (!(vScroll == 0.0f && hScroll == 0.0f)) {
            float scrollFactor = getScrollFactor();
            scrollByInternal((int) (hScroll * scrollFactor), (int) (vScroll * scrollFactor), event);
        }
    }
    return false;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:22,代码来源:RecyclerView.java

示例3: dispatchTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
	if (mAutoScrollable) {
		int action = MotionEventCompat.getActionMasked(ev);

		if (action == MotionEvent.ACTION_DOWN) {
			stopScroll();
		} else if (ev.getAction() == MotionEvent.ACTION_UP) {
			resumeScroll();
		}

		this.getParent().requestDisallowInterceptTouchEvent(true);
	}

	return super.dispatchTouchEvent(ev);
}
 
开发者ID:benniaobuguai,项目名称:android-project-gallery,代码行数:17,代码来源:AutoScrollViewPager.java

示例4: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(@NotNull MotionEvent event) {
    int action = MotionEventCompat.getActionMasked(event);

    switch(action) {
        case (MotionEvent.ACTION_DOWN):
        case (MotionEvent.ACTION_MOVE):
        case (MotionEvent.ACTION_UP):
            int band = Math.max(0, Math.min(mSourcePathPoints.length - 1, (int)(mSourcePathPoints.length * event.getX() / getWidth())));
            float value = 30 * (getHeight() - event.getY()) / getHeight();
            if (listener != null)
                listener.OnBandUpdated(band, value);
            return true;
        case (MotionEvent.ACTION_CANCEL):
            return true;
        case (MotionEvent.ACTION_OUTSIDE):
            return true;
        default :
            return super.onTouchEvent(event);
    }
}
 
开发者ID:dmllr,项目名称:IdealMedia,代码行数:22,代码来源:Wave.java

示例5: bindDragHandle

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
/**
 * this functions binds the view's touch listener to start the drag via the touch helper...
 *
 * @param holder the view holder
 * @param holder the item
 */
public static void bindDragHandle(final RecyclerView.ViewHolder holder, final IExtendedDraggable item) {
    // if necessary, init the drag handle, which will start the drag when touched
    if (item.getTouchHelper() != null && item.getDragView(holder) != null) {
        item.getDragView(holder).setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {
                if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                    if (item.isDraggable())
                        item.getTouchHelper().startDrag(holder);
                }
                return false;
            }
        });
    }
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:22,代码来源:DragDropUtil.java

示例6: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(MotionEvent event) {
	if (event.getAction() == MotionEvent.ACTION_DOWN) {
		// Selection may be beginning. Sync the TextView with the buffer.
		refreshTextFromBuffer();
	}

	// Mouse input is treated differently:
	if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.ICE_CREAM_SANDWICH &&
			MotionEventCompat.getSource(event) == InputDevice.SOURCE_MOUSE) {
		if (onMouseEvent(event, terminalView.bridge)) {
			return true;
		}
		terminalView.viewPager.setPagingEnabled(true);
	} else {
		if (terminalView.onTouchEvent(event)) {
			return true;
		}
	}

	return super.onTouchEvent(event);
}
 
开发者ID:weiwenqiang,项目名称:GitHub,代码行数:23,代码来源:TerminalTextViewOverlay.java

示例7: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(MotionEvent event) {

    //Check pointer index to avoid -1 (error)
    if (MotionEventCompat.findPointerIndex(event, 0) == -1) {
        return super.onTouchEvent(event);
    }

    if (event.getPointerCount() >= 1) {
        requestDisallowInterceptTouchEvent(true);
    } else {
        requestDisallowInterceptTouchEvent(false);
    }

    return super.onTouchEvent(event);
}
 
开发者ID:gbl08ma,项目名称:underlx,代码行数:17,代码来源:CustomWebView.java

示例8: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
public boolean onTouchEvent(MotionEvent ev) {
    int action = MotionEventCompat.getActionMasked(ev);
    if (action == 0) {
        this.mEatingTouch = false;
    }
    if (!this.mEatingTouch) {
        boolean handled = super.onTouchEvent(ev);
        if (action == 0 && !handled) {
            this.mEatingTouch = true;
        }
    }
    if (action == 1 || action == 3) {
        this.mEatingTouch = false;
    }
    return true;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:17,代码来源:Toolbar.java

示例9: onInterceptTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
    public boolean onInterceptTouchEvent(MotionEvent ev) {
//        L.e("call: onInterceptTouchEvent([ev])-> " + ev.getAction());
        int action = MotionEventCompat.getActionMasked(ev);
        if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
            onTouchUp();
            onTouchEnd();

            if (Math.abs(mStartScrollY - getScrollY()) >
                    ViewConfiguration.get(getContext()).getScaledTouchSlop()) {
                //ev.setAction(MotionEvent.ACTION_CANCEL);
                return true;
            }
        }
        return super.onInterceptTouchEvent(ev);
    }
 
开发者ID:angcyo,项目名称:RLibrary,代码行数:17,代码来源:StickLayout2.java

示例10: findSwipedView

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
private ViewHolder findSwipedView(MotionEvent motionEvent) {
    final RecyclerView.LayoutManager lm = mRecyclerView.getLayoutManager();
    if (mActivePointerId == ACTIVE_POINTER_ID_NONE) {
        return null;
    }
    final int pointerIndex = MotionEventCompat.findPointerIndex(motionEvent, mActivePointerId);
    final float dx = MotionEventCompat.getX(motionEvent, pointerIndex) - mInitialTouchX;
    final float dy = MotionEventCompat.getY(motionEvent, pointerIndex) - mInitialTouchY;
    final float absDx = Math.abs(dx);
    final float absDy = Math.abs(dy);

    if (absDx < mSlop && absDy < mSlop) {
        return null;
    }
    if (absDx > absDy && lm.canScrollHorizontally()) {
        return null;
    } else if (absDy > absDx && lm.canScrollVertically()) {
        return null;
    }
    View child = findChildView(motionEvent);
    if (child == null) {
        return null;
    }
    return mRecyclerView.getChildViewHolder(child);
}
 
开发者ID:pooyafaroka,项目名称:PlusGram,代码行数:26,代码来源:ItemTouchHelper.java

示例11: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(MotionEvent ev) {
    final int action = MotionEventCompat.getActionMasked(ev);
    if (isBackToStart && action == MotionEvent.ACTION_DOWN) isBackToStart = false;
    switch (mType) {
        case BOTTOM:
            if (!isEnabled() || isBackToStart || canChildScrollDown() || isRefreshing) {
                return false;
            }
            break;
        case TOP:
        default:
            if (!isEnabled() || isBackToStart || canChildScrollUp() || isRefreshing) {
                return false;
            }
            break;
    }
    switch (action) {
        case MotionEvent.ACTION_DOWN:
            mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
            isReady = false;
            break;
        case MotionEvent.ACTION_MOVE:
            if (TouchActionMove(ev)) return false;
            break;
        case MotionEventCompat.ACTION_POINTER_DOWN:
            final int index = MotionEventCompat.getActionIndex(ev);
            mActivePointerId = MotionEventCompat.getPointerId(ev, index);
            break;
        case MotionEventCompat.ACTION_POINTER_UP:
            onSecondaryPointerUp(ev);
            break;
        case MotionEvent.ACTION_UP:
        case MotionEvent.ACTION_CANCEL: {
            return TouchActionCancel(ev);
        }
    }
    return true;
}
 
开发者ID:shenhuanet,项目名称:AndroidOpen,代码行数:40,代码来源:SwipeToRefreshLayout.java

示例12: onTouch

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
public boolean onTouch(View v, MotionEvent event) {
    boolean z = true;
    if (!this.mEnabled) {
        return false;
    }
    switch (MotionEventCompat.getActionMasked(event)) {
        case 0:
            this.mNeedsCancel = true;
            this.mAlreadyDelayed = false;
            break;
        case 1:
        case 3:
            requestStop();
            break;
        case 2:
            break;
    }
    this.mScroller.setTargetVelocity(computeTargetVelocity(0, event.getX(), (float) v.getWidth(), (float) this.mTarget.getWidth()), computeTargetVelocity(1, event.getY(), (float) v.getHeight(), (float) this.mTarget.getHeight()));
    if (!this.mAnimating && shouldAnimate()) {
        startAnimating();
    }
    if (!(this.mExclusive && this.mAnimating)) {
        z = false;
    }
    return z;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:27,代码来源:AutoScrollHelper.java

示例13: onTouchEvent

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
@Override
public boolean onTouchEvent(CoordinatorLayout parent, V child, MotionEvent event) {
    if (!child.isShown()) {
        return false;
    }

    int action = MotionEventCompat.getActionMasked(event);
    if (mState == STATE_DRAGGING && action == MotionEvent.ACTION_DOWN) {
        return true;
    }

    mViewDragHelper.processTouchEvent(event);

    if (action == MotionEvent.ACTION_DOWN) {
        reset();
    }

    // The ViewDragHelper tries to capture only the top-most View. We have to explicitly tell it
    // to capture the bottom sheet in case it is not captured and the touch slop is passed.
    if (action == MotionEvent.ACTION_MOVE && !mIgnoreEvents) {
        if (Math.abs(mInitialY - event.getY()) > mViewDragHelper.getTouchSlop()) {
            mViewDragHelper.captureChildView(child, event.getPointerId(event.getActionIndex()));
        }
    }
    return !mIgnoreEvents;
}
 
开发者ID:aliumujib,项目名称:Nibo,代码行数:27,代码来源:BottomSheetBehaviorGoogleMapsLike.java

示例14: determineDrag

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
private void determineDrag(MotionEvent ev) {
	final int activePointerId = mActivePointerId;
	final int pointerIndex = getPointerIndex(ev, activePointerId);
	if (activePointerId == INVALID_POINTER || pointerIndex == INVALID_POINTER)
		return;
	final float x = MotionEventCompat.getX(ev, pointerIndex);
	final float dx = x - mLastMotionX;
	final float xDiff = Math.abs(dx);
	final float y = MotionEventCompat.getY(ev, pointerIndex);
	final float dy = y - mLastMotionY;
	final float yDiff = Math.abs(dy);
	if (xDiff > (isMenuOpen()?mTouchSlop/2:mTouchSlop) && xDiff > yDiff && thisSlideAllowed(dx)) {		
		startDrag();
		mLastMotionX = x;
		mLastMotionY = y;
		setScrollingCacheEnabled(true);
		// TODO add back in touch slop check
	} else if (xDiff > mTouchSlop) {
		mIsUnableToDrag = true;
	}
}
 
开发者ID:ChenTianSaber,项目名称:DailyZhiHu,代码行数:22,代码来源:CustomViewAbove.java

示例15: a

import android.support.v4.view.MotionEventCompat; //导入依赖的package包/类
private boolean a(char c) {
    switch (c) {
        case '\t':
        case '\n':
        case '\f':
        case '\r':
        case ' ':
        case MotionEventCompat.AXIS_GENERIC_13 /*44*/:
        case ':':
        case '[':
        case ']':
        case '{':
        case '}':
            break;
        case '#':
        case MotionEventCompat.AXIS_GENERIC_16 /*47*/:
        case ';':
        case '=':
        case '\\':
            v();
            break;
        default:
            return true;
    }
    return false;
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:27,代码来源:a.java


注:本文中的android.support.v4.view.MotionEventCompat类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。