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); 
}
 }
 }
//用到了畫布繪圖 簡單的獲取焦點位置



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