android 简单的触屏事件

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); 
}
 }
 }
//用到了画布绘图 简单的获取焦点位置



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章