拖着imageview走

iv.setOnTouchListener(new OnTouchListener() {
			int startX;
			int startY;
			public boolean onTouch(View v, MotionEvent event) {
				// TODO Auto-generated method stub
				switch (event.getAction()) {
				case MotionEvent.ACTION_DOWN:
					Log.i(TAG,"手指按下");
					
					startX = v.getLeft()+20;
					startY = v.getTop()+10;
					InitstartX = v.getLeft();
					InitStartY = v.getTop();
					break;
				case MotionEvent.ACTION_MOVE:
					int rx = (int) event.getRawX();
					int ry = (int) event.getRawY();
					int dx = rx - startX;
					int dy = ry - startY;
					
					v.layout(v.getLeft()+dx, v.getTop()+dy, v.getRight()+dx, v.getBottom()+dy); 
					startX = (int) event.getRawX();
					startY = (int )event.getRawY();
					Log.i(TAG,"手指移动");
					break;
				case MotionEvent.ACTION_UP:
					int endx = v.getLeft();
					int endy = v.getTop();
					
			      	int finaldx =	endx - InitstartX;
			      	int finaldy =   endy - InitStartY;
					
			      	Editor editor=  sp.edit();
			      	editor.putInt("dx", finaldx);
			      	editor.putInt("dy", finaldy);
			      	editor.commit();
					Log.i(TAG,"手指离开屏幕");
					break;
				}
				return true;
			}
		});

  

posted @ 2012-07-18 19:50  ligang305  阅读(112)  评论(0)    收藏  举报