Android drag

Android drag and drop, simple implementation. Look at the results:

14183340_txve.gif

Using OnTouchListener monitor press, move, lift three events to achieve drag effect.

First, we need to set a listener to the target ImageView:

ImageView tabImg = (ImageView) rootView.findViewById(R.id.tab_img);
tabImg.setBackgroundResource(R.drawable.blink);
tabImg.setOnTouchListener(new TabImgTouch());

Then the focus --TabImgTouch:

private class TabImgTouch implements OnTouchListener {
    @Override
    public boolean onTouch(View v, MotionEvent event) {
        long downTime = 0, moveTime = 0;
        int touchX = 0, touchY = 0;
        switch (event.getAction()) {
        case MotionEvent.ACTION_DOWN:
            downTime = event.getDownTime();
            break;
        case MotionEvent.ACTION_MOVE:
            moveTime = event.getEventTime();
            if (moveTime - downTime > 1500) {// 长按
                v.setAlpha(0.5f);//透明度
                touchX = (int) (event.getRawX());//相对于屏幕左上的X坐标
                // my = (int) (event.getRawY() - 50);//状态栏和标题栏
                touchY = (int) (event.getRawY() - 150);
                v.layout(touchX - v.getWidth() / 2, touchY - v.getHeight()
                        / 2, touchX + v.getWidth() / 2,
                        touchY + v.getHeight() / 2);//定位
            }
            break;
        case MotionEvent.ACTION_UP:
            v.setAlpha(1f);
            break;
        default:
            break;
        }
        return true;//Attention!
    }
}

So, it is simple to implement a simple drag and drop, believe in yourself even more dazzling results, please enjoy the play.


This article comes from " WISPER technology to make the art of " blog, be sure to keep this source http://lichen.blog.51cto.com/697816/1221442

Reproduced in: https: //my.oschina.net/lichen/blog/264901

Guess you like

Origin blog.csdn.net/weixin_34234823/article/details/91817413