onTouchEvent,ontouchevent使用
建立"MyView"類
package onTouchEvent;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 MyView extends View { private int textX=20,textY=20; public MyView(Context context) { super(context); setFocusable(true); // TODO Auto-generated constructor stub } //畫筆onDraw方法 @Override protected void onDraw(Canvas canvas) { // TODO Auto-generated method stub super.onDraw(canvas); //初始化畫筆 Paint paint=new Paint(); //設定顏色 paint.setColor(Color.GREEN); //設定字型大小 paint.setTextSize(50); //在畫布上寫文字 canvas.drawText("Android", textX, textY, paint); } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub //擷取使用者手指觸屏的X座標賦值與文本的X座標 textX=(int)event.getX(); //擷取使用者手指觸屏的Y座標賦值與文本的Y座標 textY=(int)event.getY(); //重繪畫布 invalidate(); return true; } }
MainActivity中將setContentView設定為當前MyView,即
setContentView(new MyView(this));
執行如下: