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