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


Java MotionEventCompat.getY方法代码示例

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


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

示例1: updateDxDy

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private void updateDxDy(MotionEvent ev, int directionFlags, int pointerIndex) {
    float x = MotionEventCompat.getX(ev, pointerIndex);
    float y = MotionEventCompat.getY(ev, pointerIndex);
    this.mDx = x - this.mInitialTouchX;
    this.mDy = y - this.mInitialTouchY;
    if ((directionFlags & 4) == 0) {
        this.mDx = Math.max(0.0f, this.mDx);
    }
    if ((directionFlags & 8) == 0) {
        this.mDx = Math.min(0.0f, this.mDx);
    }
    if ((directionFlags & 1) == 0) {
        this.mDy = Math.max(0.0f, this.mDy);
    }
    if ((directionFlags & 2) == 0) {
        this.mDy = Math.min(0.0f, this.mDy);
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:19,代码来源:ItemTouchHelper.java

示例2: 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:MLNO,项目名称:airgram,代码行数:26,代码来源:ItemTouchHelper.java

示例3: updateDxDy

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private void updateDxDy(MotionEvent ev, int directionFlags, int pointerIndex) {
    final float x = MotionEventCompat.getX(ev, pointerIndex);
    final float y = MotionEventCompat.getY(ev, pointerIndex);

    // Calculate the distance moved
    mDx = x - mInitialTouchX;
    mDy = y - mInitialTouchY;
    if ((directionFlags & LEFT) == 0) {
        mDx = Math.max(0, mDx);
    }
    if ((directionFlags & RIGHT) == 0) {
        mDx = Math.min(0, mDx);
    }
    if ((directionFlags & UP) == 0) {
        mDy = Math.max(0, mDy);
    }
    if ((directionFlags & DOWN) == 0) {
        mDy = Math.min(0, mDy);
    }
}
 
开发者ID:MLNO,项目名称:airgram,代码行数:21,代码来源:ItemTouchHelper.java

示例4: onLongPress

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
@Override
public void onLongPress(MotionEvent e) {
    View child = findChildView(e);
    if (child != null) {
        ViewHolder vh = mRecyclerView.getChildViewHolder(child);
        if (vh != null) {
            if (!mCallback.hasDragFlag(mRecyclerView, vh)) {
                return;
            }
            int pointerId = MotionEventCompat.getPointerId(e, 0);
            // Long press is deferred.
            // Check w/ active pointer id to avoid selecting after motion
            // event is canceled.
            if (pointerId == mActivePointerId) {
                final int index = MotionEventCompat
                        .findPointerIndex(e, mActivePointerId);
                final float x = MotionEventCompat.getX(e, index);
                final float y = MotionEventCompat.getY(e, index);
                mInitialTouchX = x;
                mInitialTouchY = y;
                mDx = mDy = 0f;
                if (DEBUG) {
                    Log.d(TAG,
                            "onlong press: x:" + mInitialTouchX + ",y:" + mInitialTouchY);
                }
                if (mCallback.isLongPressDragEnabled()) {
                    select(vh, ACTION_STATE_DRAG);
                }
            }
        }
    }
}
 
开发者ID:pooyafaroka,项目名称:PlusGram,代码行数:33,代码来源:ItemTouchHelper.java

示例5: onInterceptTouchEvent

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    mScroller.forceFinished(true);
    int type = MotionEventCompat.getActionMasked(ev);
    float currentX = MotionEventCompat.getX(ev, 0);
    float currentY = MotionEventCompat.getY(ev, 0);

    switch (type) {
        case MotionEvent.ACTION_DOWN:
            downX = currentX;
            downY = currentY;

            float x = firstView.getX() + firstView.getMeasuredWidth() / 2.0f;
            float y = firstView.getY() + firstView.getMeasuredHeight() / 2.0f;

            lastAngle = (float) getRelativeAngle(x, y);
            break;
        case MotionEvent.ACTION_MOVE:
            float distance = getDistance(downX, downY, currentX, currentY);
            if (distance > ViewConfiguration.getTouchSlop()) {
                return true;
            }
            break;
        case MotionEvent.ACTION_UP:

            break;
    }

    return false;
}
 
开发者ID:tortuvshin,项目名称:sign-android,代码行数:31,代码来源:CircleMenu.java

示例6: getMotionEventY

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private float getMotionEventY(MotionEvent ev, int activePointerId) {
    final int index = MotionEventCompat.findPointerIndex(ev, activePointerId);
    if (index < 0) {
        return -1;
    }
    return MotionEventCompat.getY(ev, index);
}
 
开发者ID:ynztlxdeai,项目名称:TextReader,代码行数:8,代码来源:SwipeRefreshLayout.java

示例7: saveLastMotion

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private void saveLastMotion(MotionEvent ev) {
    int pointerCount = MotionEventCompat.getPointerCount(ev);
    for (int i = 0; i < pointerCount; i++) {
        int pointerId = MotionEventCompat.getPointerId(ev, i);
        float x = MotionEventCompat.getX(ev, i);
        float y = MotionEventCompat.getY(ev, i);
        this.mLastMotionX[pointerId] = x;
        this.mLastMotionY[pointerId] = y;
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:11,代码来源:ViewDragHelper.java

示例8: saveLastMotion

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private void saveLastMotion(MotionEvent ev) {
    final int pointerCount = MotionEventCompat.getPointerCount(ev);
    for (int i = 0; i < pointerCount; i++) {
        final int pointerId = MotionEventCompat.getPointerId(ev, i);
        final float x = MotionEventCompat.getX(ev, i);
        final float y = MotionEventCompat.getY(ev, i);
        mLastMotionX[pointerId] = x;
        mLastMotionY[pointerId] = y;
    }
}
 
开发者ID:Vinetos,项目名称:Hello-Music-droid,代码行数:11,代码来源:ViewDragHelper.java

示例9: getMotionEventY

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private float getMotionEventY(MotionEvent ev, int activePointerId) {
    final int index = MotionEventCompat.findPointerIndex(ev,
            activePointerId);
    if (index < 0) {
        return -1;
    }
    return MotionEventCompat.getY(ev, index);
}
 
开发者ID:coderwjq,项目名称:ZhaZhaShop,代码行数:9,代码来源:SuperSwipeRefreshLayout.java

示例10: onSecondaryPointerUp

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private void onSecondaryPointerUp(MotionEvent ev) {
    int pointerIndex = (ev.getAction() & MotionEventCompat.ACTION_POINTER_INDEX_MASK) >> 8;
    if (MotionEventCompat.getPointerId(ev, pointerIndex) == this.mActivePointerId) {
        int newPointerIndex = pointerIndex == 0 ? 1 : 0;
        this.mLastMotionY = (int) MotionEventCompat.getY(ev, newPointerIndex);
        this.mActivePointerId = MotionEventCompat.getPointerId(ev, newPointerIndex);
        if (this.mVelocityTracker != null) {
            this.mVelocityTracker.clear();
        }
    }
}
 
开发者ID:JackChan1999,项目名称:letv,代码行数:12,代码来源:NestedScrollView.java

示例11: checkSelectForSwipe

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private boolean checkSelectForSwipe(int action, MotionEvent motionEvent, int pointerIndex) {
    if (this.mSelected != null || action != 2 || this.mActionState == 2 || !this.mCallback.isItemViewSwipeEnabled()) {
        return false;
    }
    if (this.mRecyclerView.getScrollState() == 1) {
        return false;
    }
    ViewHolder vh = findSwipedView(motionEvent);
    if (vh == null) {
        return false;
    }
    int swipeFlags = (65280 & this.mCallback.getAbsoluteMovementFlags(this.mRecyclerView, vh)) >> 8;
    if (swipeFlags == 0) {
        return false;
    }
    float x = MotionEventCompat.getX(motionEvent, pointerIndex);
    float dx = x - this.mInitialTouchX;
    float dy = MotionEventCompat.getY(motionEvent, pointerIndex) - this.mInitialTouchY;
    float absDx = Math.abs(dx);
    float absDy = Math.abs(dy);
    if (absDx < ((float) this.mSlop) && absDy < ((float) this.mSlop)) {
        return false;
    }
    if (absDx > absDy) {
        if (dx < 0.0f && (swipeFlags & 4) == 0) {
            return false;
        }
        if (dx > 0.0f && (swipeFlags & 8) == 0) {
            return false;
        }
    } else if (dy < 0.0f && (swipeFlags & 1) == 0) {
        return false;
    } else {
        if (dy > 0.0f && (swipeFlags & 2) == 0) {
            return false;
        }
    }
    this.mDy = 0.0f;
    this.mDx = 0.0f;
    this.mActivePointerId = MotionEventCompat.getPointerId(motionEvent, 0);
    select(vh, 1);
    return true;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:44,代码来源:ItemTouchHelper.java

示例12: getMotionEventY

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
private float getMotionEventY(MotionEvent ev, int activePointerId) {
    final int index = MotionEventCompat.findPointerIndex(ev, activePointerId);
    if (index < 0) return -1;
    return MotionEventCompat.getY(ev, index);
}
 
开发者ID:shenhuanet,项目名称:AndroidOpen,代码行数:6,代码来源:SwipeToRefreshLayout.java

示例13: onInterceptTouchEvent

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
public boolean onInterceptTouchEvent(CoordinatorLayout parent, V child, MotionEvent ev) {
    if (this.mTouchSlop < 0) {
        this.mTouchSlop = ViewConfiguration.get(parent.getContext()).getScaledTouchSlop();
    }
    if (ev.getAction() == 2 && this.mIsBeingDragged) {
        return true;
    }
    int y;
    switch (MotionEventCompat.getActionMasked(ev)) {
        case 0:
            this.mIsBeingDragged = false;
            int x = (int) ev.getX();
            y = (int) ev.getY();
            if (canDragView(child) && parent.isPointInChildBounds(child, x, y)) {
                this.mLastMotionY = y;
                this.mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
                ensureVelocityTracker();
                break;
            }
        case 1:
        case 3:
            this.mIsBeingDragged = false;
            this.mActivePointerId = -1;
            if (this.mVelocityTracker != null) {
                this.mVelocityTracker.recycle();
                this.mVelocityTracker = null;
                break;
            }
            break;
        case 2:
            int activePointerId = this.mActivePointerId;
            if (activePointerId != -1) {
                int pointerIndex = MotionEventCompat.findPointerIndex(ev, activePointerId);
                if (pointerIndex != -1) {
                    y = (int) MotionEventCompat.getY(ev, pointerIndex);
                    if (Math.abs(y - this.mLastMotionY) > this.mTouchSlop) {
                        this.mIsBeingDragged = true;
                        this.mLastMotionY = y;
                        break;
                    }
                }
            }
            break;
    }
    if (this.mVelocityTracker != null) {
        this.mVelocityTracker.addMovement(ev);
    }
    return this.mIsBeingDragged;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:50,代码来源:HeaderBehavior.java

示例14: onInterceptTouchEvent

import android.support.v4.view.MotionEventCompat; //导入方法依赖的package包/类
public boolean onInterceptTouchEvent(MotionEvent ev) {
    boolean z = false;
    int action = ev.getAction();
    if (action == 2 && this.mIsBeingDragged) {
        return true;
    }
    int y;
    switch (action & 255) {
        case 0:
            y = (int) ev.getY();
            if (!inChild((int) ev.getX(), y)) {
                this.mIsBeingDragged = false;
                recycleVelocityTracker();
                break;
            }
            this.mLastMotionY = y;
            this.mActivePointerId = MotionEventCompat.getPointerId(ev, 0);
            initOrResetVelocityTracker();
            this.mVelocityTracker.addMovement(ev);
            this.mScroller.computeScrollOffset();
            if (!this.mScroller.isFinished()) {
                z = true;
            }
            this.mIsBeingDragged = z;
            startNestedScroll(2);
            break;
        case 1:
        case 3:
            this.mIsBeingDragged = false;
            this.mActivePointerId = -1;
            recycleVelocityTracker();
            if (this.mScroller.springBack(getScrollX(), getScrollY(), 0, 0, 0, getScrollRange())) {
                ViewCompat.postInvalidateOnAnimation(this);
            }
            stopNestedScroll();
            break;
        case 2:
            int activePointerId = this.mActivePointerId;
            if (activePointerId != -1) {
                int pointerIndex = MotionEventCompat.findPointerIndex(ev, activePointerId);
                if (pointerIndex != -1) {
                    y = (int) MotionEventCompat.getY(ev, pointerIndex);
                    if (Math.abs(y - this.mLastMotionY) > this.mTouchSlop && (getNestedScrollAxes() & 2) == 0) {
                        this.mIsBeingDragged = true;
                        this.mLastMotionY = y;
                        initVelocityTrackerIfNotExists();
                        this.mVelocityTracker.addMovement(ev);
                        this.mNestedYOffset = 0;
                        ViewParent parent = getParent();
                        if (parent != null) {
                            parent.requestDisallowInterceptTouchEvent(true);
                            break;
                        }
                    }
                }
                Log.e(TAG, "Invalid pointerId=" + activePointerId + " in onInterceptTouchEvent");
                break;
            }
            break;
        case 6:
            onSecondaryPointerUp(ev);
            break;
    }
    return this.mIsBeingDragged;
}
 
开发者ID:JackChan1999,项目名称:boohee_v5.6,代码行数:66,代码来源:NestedScrollView.java

示例15: onInterceptTouchEvent

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

	if (!mEnabled)
		return false;

	final int action = ev.getAction() & MotionEventCompat.ACTION_MASK;

	if (DEBUG)
		if (action == MotionEvent.ACTION_DOWN)
			Log.v(TAG, "Received ACTION_DOWN");

	if (action == MotionEvent.ACTION_CANCEL || action == MotionEvent.ACTION_UP
			|| (action != MotionEvent.ACTION_DOWN && mIsUnableToDrag)) {
		endDrag();
		return false;
	}

	switch (action) {
	case MotionEvent.ACTION_MOVE:
		determineDrag(ev);
		break;
	case MotionEvent.ACTION_DOWN:
		int index = MotionEventCompat.getActionIndex(ev);
		mActivePointerId = MotionEventCompat.getPointerId(ev, index);
		if (mActivePointerId == INVALID_POINTER)
			break;
		mLastMotionX = mInitialMotionX = MotionEventCompat.getX(ev, index);
		mLastMotionY = MotionEventCompat.getY(ev, index);
		if (thisTouchAllowed(ev)) {
			mIsBeingDragged = false;
			mIsUnableToDrag = false;
			if (isMenuOpen() && mViewBehind.menuTouchInQuickReturn(mContent, mCurItem, ev.getX() + mScrollX)) {
				mQuickReturn = true;
			}
		} else {
			mIsUnableToDrag = true;
		}
		break;
	case MotionEventCompat.ACTION_POINTER_UP:
		onSecondaryPointerUp(ev);
		break;
	}

	if (!mIsBeingDragged) {
		if (mVelocityTracker == null) {
			mVelocityTracker = VelocityTracker.obtain();
		}
		mVelocityTracker.addMovement(ev);
	}
	return mIsBeingDragged || mQuickReturn;
}
 
开发者ID:ChenTianSaber,项目名称:DailyZhiHu,代码行数:53,代码来源:CustomViewAbove.java


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