Android SurviceView的觸控和軌跡球事件
SurfaceView 的觸控和軌跡球事件
1,改開始什么也沒有,當第一點擊的時候,圖標會出現在那個地方,然后點擊其它地方,圖標會在觸控的地方顯示
2,拖著圖標移動,到鼠標事件UP的地方繪畫停止
import android.app.Activity; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.os.Bundle; import android.view.MotionEvent; import android.view.SurfaceView;public class Touch_TrackActivity extends Activity { /* Called when the activity is first created. / class MYSurFaceView extends SurfaceView{ float x; float y; Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.chart_pie);//用Bitmap獲取Android圖標
public MYSurFaceView(Context context) { super(context); setFocusable(true);//使用Key event,setFocusable(true)可以聚焦 // TODO Auto-generated constructor stub } @Override public boolean onTouchEvent(MotionEvent event) { // TODO Auto-generated method stub x=event.getX();//獲取觸控的X坐標 y=event.getY();//獲取觸控的Y坐標 Draw(); return true; } @Override public boolean onTrackballEvent(MotionEvent event) { // TODO Auto-generated method stub x=event.getX();//獲取軌跡的X坐標 y=event.getY();//獲取軌跡的Y坐標 Draw(); return true; } private void Draw() { Canvas canvas=getHolder().lockCanvas();//定義Canvas,用SurfaceHolder的lockCanvas()方法鎖住畫布 canvas.drawBitmap(bitmap, x, y,null);//繪畫 getHolder().unlockCanvasAndPost(canvas);//解鎖畫布 } } @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(new MYSurFaceView(this)); }
}</pre>
轉自:http://blog.csdn.net/rwyz1314/article/details/6788043
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!