Android drag and drop, simple implementation. Look at the results:
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