android 简单的触屏事件

来源:互联网 发布:淘宝手机排名 编辑:程序博客网 时间:2024/04/20 10:14
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); } } }//用到了画布绘图 简单的获取焦点位置


	
				
		
原创粉丝点击