package com.touch.temp; import android.app.Activity; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.MotionEvent; import android.view.View; /** */ public class TouchActivity extends Activity { private static final Canvas Canvas = null; MyView myView; protected void onCreate(android.os.Bundle savedInstanceState) { super.onCreate(savedInstanceState); myView = new MyView(this); setContentView(myView); }; /** * {@inheritDoc} */ public boolean onTouchEvent1(MotionEvent event) { float x = event.getRawX(); float y = event.getRawY(); System.out.println("座标:" + x + "," + y); return super.onTouchEvent(event); } @Override public boolean onTouchEvent(MotionEvent event){ //重写的onTouchEvent回调方法 switch(event.getAction()){ case MotionEvent.ACTION_DOWN: //按下 if(myView.x-10<(int)event.getX()&&myView.y-10<(int)event.getY()) { myView.x = (int) event.getX()-50; //改变x座标 // myView.y = (int) event.getY()-50; //改变y座标 myView.postInvalidate(); //重绘 } break; case MotionEvent.ACTION_MOVE: //移动 if(myView.x-10<(int)event.getX()&&myView.y-10<(int)event.getY()) { myView.x = (int) event.getX()-25; //改变x座标 // myView.y = (int) event.getY()-50; //改变y座标 myView.postInvalidate(); //重绘 } break; case MotionEvent.ACTION_UP: //擡起 if(myView.x<400) { myView.x = 0; //改变x座标 myView.y = 0; //改变y座标 myView.postInvalidate(); //重绘 setContentView(myView); // myView.onDraw(canvas); } break; } return super.onTouchEvent(event); } class MyView extends View{ //自定义的 View Paint paint; //画笔 int x = 0; //x座标 int y = 0; //y座标 42 int w = 50; public MyView(Context context) { //构造器 super(context); paint = new Paint(); //初始化画笔 } @Override protected void onDraw(Canvas canvas) { //绘制方法 canvas.drawColor(Color.GRAY); //绘制背景色 canvas.drawRect(0, y, x+w, y+800, paint); //绘制矩形 super.onDraw(canvas); } } } //用到了画布绘图 简单的获取焦点位置