Android拖拽,簡單的實現方法。先看效果:java
是使用OnTouchListener監聽按下、移動、擡起3個事件來實現拖拽效果。ide
首先須要給目標ImageView設置一個監聽器:spa
ImageView tabImg = (ImageView) rootView.findViewById(R.id.tab_img); tabImg.setBackgroundResource(R.drawable.blink); tabImg.setOnTouchListener(new TabImgTouch());
而後是重點——TabImgTouch:
blog
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! } }
如此,很簡單的就實現一個簡單的拖拽,更炫的效果請相信本身盡情發揮。
事件