Example usage for android.support.v4.view MotionEventCompat getActionMasked

List of usage examples for android.support.v4.view MotionEventCompat getActionMasked

Introduction

In this page you can find the example usage for android.support.v4.view MotionEventCompat getActionMasked.

Prototype

public static int getActionMasked(MotionEvent event) 

Source Link

Document

Call MotionEvent#getAction , returning only the #ACTION_MASK portion.

Usage

From source file:com.greenkee.pokeADot.GameActivity.java

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // tell system to use the layout defined in our XML file
    setContentView(com.greenkee.pokeADot.R.layout.activity_game_screen);

    mView = (GameView) findViewById(com.greenkee.pokeADot.R.id.gameScreen);
    mThread = mView.getThread();//from w w  w . j ava2s .  com
    mView.setActivity(this);
    ((GameView) mView).setTextViews((TextView) findViewById(com.greenkee.pokeADot.R.id.status_display),
            (TextView) findViewById(com.greenkee.pokeADot.R.id.score_display),
            (TextView) findViewById(com.greenkee.pokeADot.R.id.combo_display));

    if (savedInstanceState == null) {
        System.out.println("STATE SET");
        mThread.doStart();
    } else {
        super.onRestoreInstanceState(savedInstanceState);
        mThread.restoreState(savedInstanceState);

    }
    mView.setOnTouchListener(new OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            int action = MotionEventCompat.getActionMasked(event);
            final int pointerIndex;
            final float x;
            final float y;
            switch (action) {
            case (MotionEvent.ACTION_DOWN): {
                //  System.out.println("ACTION_DOWN");
                if (((GameView.GameThread) mThread).getCurrentState() == GameView.GameThread.STATE_RUNNING) {
                    int index = MotionEventCompat.getActionIndex(event);
                    p1ID = MotionEventCompat.getPointerId(event, index);
                    if (p1ID != -1) {
                        int p1Index = MotionEventCompat.findPointerIndex(event, p1ID);
                        ((GameView.GameThread) mThread).checkTouch(MotionEventCompat.getX(event, p1Index),
                                MotionEventCompat.getY(event, p1Index));
                        //DO SOMETHING HERE

                    }
                } else if (!(mView.dialogOpen) && (!(((GameView.GameThread) mThread).gameOver))
                        && (((GameView.GameThread) mThread)
                                .getCurrentState() == GameView.GameThread.STATE_READY)
                        || (((GameView.GameThread) mThread)
                                .getCurrentState() == GameView.GameThread.STATE_LOSE)) {
                    ((GameView.GameThread) mThread).startGame();

                    // System.out.println("START GAME");

                } else if (((GameView.GameThread) mThread)
                        .getCurrentState() == GameView.GameThread.STATE_PAUSE) {
                    mThread.unpause();
                }

                return true;
            }
            case (MotionEvent.ACTION_MOVE): {
                //  System.out.println("ACTION_MOVE");
                if (((GameView.GameThread) mThread).getCurrentState() == GameView.GameThread.STATE_RUNNING) {
                    if (p1ID != -1) {
                        int p1Index = MotionEventCompat.findPointerIndex(event, p1ID);
                        //DO SOMETHING HERE

                    }
                }

                return true;
            }
            case (MotionEvent.ACTION_UP): {
                // System.out.println("ACTION_UP");

                reset();
                return true;
            }
            case (MotionEvent.ACTION_CANCEL): {
                // System.out.println("ACTION_CANCEL");
                reset();
                return true;
            }
            case (MotionEvent.ACTION_OUTSIDE): {
                return true;

            }
            }

            return false;
        }

        private void reset() {
            numTouches = 0;
            p1ID = -1;
            p2ID = -1;
        }
    }

    );
}

From source file:com.ouyangzn.view.TopDragLayout.java

@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
    boolean helpResult = mDragHelper.shouldInterceptTouchEvent(ev);
    if (isHorizontalScrollView(mDraggedView)) {
        boolean intercept = false;
        switch (MotionEventCompat.getActionMasked(ev)) {
        case MotionEvent.ACTION_MOVE:
            // ?--->support-v4DrawerLayout??
            intercept = mDragHelper.checkTouchSlop(ViewDragHelper.DIRECTION_VERTICAL);
            // ???view
            if (intercept)
                mDragHelper.captureChildView(mDraggedView, ev.getPointerId(0));
            break;
        }//from   w w  w .  j  ava 2 s  .  c  o  m
        return helpResult || intercept;
    }
    if (isVerticalScrollView(mDraggedView)) {
        // ?View???
        if (mDraggedView.getBottom() == mRemainHeight) {
            mDragHelper.captureChildView(mDraggedView, ev.getPointerId(0));
            return true;
        }
        boolean intercept = false;
        switch (MotionEventCompat.getActionMasked(ev)) {
        case MotionEvent.ACTION_DOWN:
            downY = ev.getY();
            break;
        case MotionEvent.ACTION_MOVE:
            // 
            if (ev.getY() - downY > 0) {
                intercept = !ViewCompat.canScrollVertically(mDraggedView, -1);
                Log.d(TAG, "----------intercept = " + intercept);
            } else {
                intercept = !ViewCompat.canScrollVertically(mDraggedView, 1);
                Log.d(TAG, "----------intercept = " + intercept);
            }
            break;
        }
        Log.d(TAG, "----------return = " + (helpResult || intercept));
        // ???view
        if (intercept)
            mDragHelper.captureChildView(mDraggedView, ev.getPointerId(0));
        return helpResult || intercept;
    }
    return helpResult;
}

From source file:cn.goodjobs.common.view.photodraweeview.ScaleDragDetector.java

public boolean onTouchEvent(MotionEvent ev) {
    mScaleDetector.onTouchEvent(ev);/*from  ww w. ja va  2s .  c om*/
    final int action = MotionEventCompat.getActionMasked(ev);
    onTouchActivePointer(action, ev);
    onTouchDragEvent(action, ev);
    return true;
}

From source file:com.cndll.chgj.adapter.CaiLeiListAdapter.java

@Override
public void onBindViewHolder(final ItemViewHolder holder, final int position) {
    ((ListItemViewHolder) holder).info.setVisibility(View.GONE);
    ((ListItemViewHolder) holder).price.setVisibility(View.GONE);
    ((ListItemViewHolder) holder).name.setText(mitems.get(position).getName());
    ((ListItemViewHolder) holder).name.setOnClickListener(new View.OnClickListener() {
        @Override/*  w  w  w  .j a v  a2  s .  co m*/
        public void onClick(View v) {
            if (onItemClick != null) {
                onItemClick.onItemClick(v, position);
            }
        }
    });
    ((ListItemViewHolder) holder).revise.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            if (onItemClick != null) {
                onItemClick.onReEidetClick(v, position);
            }
        }
    });
    // Start a drag whenever the handle view it touched
    ((ListItemViewHolder) holder).handleView.setOnTouchListener(new View.OnTouchListener() {
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                mDragStartListener.onStartDrag(holder);
            }
            return false;
        }
    });
}

From source file:com.github.ppamorim.SlapBar.java

@Override
public boolean onTouchEvent(MotionEvent ev) {
    int actionMasked = MotionEventCompat.getActionMasked(ev);
    if ((actionMasked & MotionEventCompat.ACTION_MASK) == MotionEvent.ACTION_DOWN) {
        activePointerId = MotionEventCompat.getPointerId(ev, actionMasked);
    }// w w w  . ja v a2  s . c  o m
    if (activePointerId == INVALID_POINTER) {
        return false;
    }
    dragHelper.processTouchEvent(ev);
    return isViewHit(dragView, (int) ev.getX(), (int) ev.getY());
}

From source file:android.support.v7.widget.AbsActionBarView.java

@Override
public boolean onTouchEvent(MotionEvent ev) {
    // ActionBarViews always eat touch events, but should still respect the touch event dispatch
    // contract. If the normal View implementation doesn't want the events, we'll just silently
    // eat the rest of the gesture without reporting the events to the default implementation
    // since that's what it expects.

    final int action = MotionEventCompat.getActionMasked(ev);
    if (action == MotionEvent.ACTION_DOWN) {
        mEatingTouch = false;/*from   w  w w.  ja v  a  2s.c o  m*/
    }

    if (!mEatingTouch) {
        final boolean handled = super.onTouchEvent(ev);
        if (action == MotionEvent.ACTION_DOWN && !handled) {
            mEatingTouch = true;
        }
    }

    if (action == MotionEvent.ACTION_UP || action == MotionEvent.ACTION_CANCEL) {
        mEatingTouch = false;
    }

    return true;
}

From source file:com.anysoftkeyboard.keyboards.views.AnyKeyboardViewWithMiniKeyboard.java

@Override
public boolean onTouchEvent(@NonNull MotionEvent me) {
    if (getMiniKeyboard() != null && mMiniKeyboardPopup.isShowing()) {
        final int miniKeyboardX = (int) me.getX();
        final int miniKeyboardY = (int) me.getY();
        final int action = MotionEventCompat.getActionMasked(me);

        MotionEvent translated = generateMiniKeyboardMotionEvent(action, miniKeyboardX, miniKeyboardY,
                me.getEventTime());/*from  www.j  a v a 2  s  . c  o m*/
        getMiniKeyboard().onTouchEvent(translated);
        translated.recycle();
        return true;
    }

    return super.onTouchEvent(me);
}

From source file:com.coincollection.ReorderAdapter.java

@Override
public void onBindViewHolder(final ReorderViewHolder holder, int position) {

    // TODO Copied from the adapter that handles mainActivity, refactor it
    // so that this code only lives in one place
    CollectionListInfo item = mItems.get(position);

    String tableName = item.getName();

    int total = item.getCollected();
    if (tableName != null) {

        //Get the image
        ImageView image = (ImageView) holder.view.findViewById(R.id.imageView1);
        if (image != null) {
            image.setBackgroundResource(item.getCoinImageIdentifier());
        }/*  www .j  a v  a  2  s  . c o m*/

        TextView tt = (TextView) holder.view.findViewById(R.id.textView1);
        if (tt != null) {
            tt.setText(tableName);
        }

        TextView mt = (TextView) holder.view.findViewById(R.id.textView2);
        if (mt != null) {
            mt.setText(total + "/" + item.getMax());
        }

        TextView bt = (TextView) holder.view.findViewById(R.id.textView3);
        if (total >= item.getMax()) {
            // The collection is complete
            if (bt != null) {
                bt.setText("Collection Complete!");
            }
        } else {
            bt.setText("");
        }

        // Start a drag whenever the handle view is touched
        image.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                    mDragStartListener.onStartDrag(holder);
                }
                return false;
            }
        });
    }

}

From source file:com.llf.nestlayout.library.NestedWebView.java

@Override
public boolean onTouchEvent(MotionEvent event) {
    if (!isNestedScrollingEnabled())
        return super.onTouchEvent(event);
    boolean rs = false;
    final int action = MotionEventCompat.getActionMasked(event);
    if (action == MotionEvent.ACTION_DOWN) {
        mNestedOffsetY = 0;/*from  w  w  w. ja v  a 2s. c  o  m*/
        super.onTouchEvent(event);
    }
    MotionEvent ne = MotionEvent.obtain(event);
    switch (action) {
    case MotionEvent.ACTION_DOWN:
        rs = super.onTouchEvent(ne);
        startNestedScroll(ViewCompat.SCROLL_AXIS_VERTICAL);
        mTouchCancel = false;
        mLastX = (int) event.getX();
        mLastY = (int) event.getY();
        mTouchY = mLastY;
        break;
    case MotionEvent.ACTION_MOVE:
        final int y = (int) event.getY();
        if (Math.abs(mTouchY - y) >= mTouchSlop) {
            //cancel click,Long click
            if (!mTouchCancel) {
                mTouchCancel = true;
                event.setAction(MotionEvent.ACTION_CANCEL);
                super.onTouchEvent(event);
            }

            int x = (int) event.getX();
            int dx = mLastX - x;
            int dy = mLastY - y;
            int oldY = getScrollY();
            if (dispatchNestedPreScroll(0, dy, mScrollConsumed, mScrollOffset)) {
                dy -= mScrollConsumed[1];
                mNestedOffsetY += mScrollOffset[1];
            }

            //
            overScrollBy(dx, dy, getScrollX(), oldY, computeHorizontalScrollRange(),
                    computeVerticalScrollRange(), computeHorizontalScrollExtent(),
                    computeVerticalScrollExtent(), true);
            mLastX = x;
            mLastY = y - mScrollOffset[1];
            int scrollDelta = getScrollY() - oldY;
            dy -= scrollDelta;
            if (dispatchNestedScroll(0, scrollDelta, 0, dy, mScrollOffset)) {
                mNestedOffsetY += mScrollOffset[1];
                mLastY -= mScrollOffset[1];
            }
            rs = true;
        } else {
            rs = super.onTouchEvent(event);
        }
        break;
    case MotionEvent.ACTION_UP:
    case MotionEvent.ACTION_CANCEL:
        if (!mTouchCancel)
            rs = super.onTouchEvent(ne);
        stopNestedScroll();
        break;
    }
    return rs;
}

From source file:com.example.android.supportv7.widget.touch.DragAndDropActivity.java

@Override
public ItemTouchViewHolder onCreateViewHolder(ViewGroup parent) {
    final ItemTouchViewHolder vh = super.onCreateViewHolder(parent);
    vh.actionButton.setText(R.string.drag);
    vh.actionButton.setOnTouchListener(new View.OnTouchListener() {
        @Override//from ww  w. j a va 2s. c om
        public boolean onTouch(View v, MotionEvent event) {
            if (MotionEventCompat.getActionMasked(event) == MotionEvent.ACTION_DOWN) {
                mItemTouchHelper.startDrag(vh);
            }
            return false;
        }
    });
    return vh;
}