Androidの簡単なタッチスクリーンイベント

2111 ワード

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); 
}
 }
 }
//