`
xun005
  • 浏览: 39546 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Android SurviceView的触控和轨迹球事件 .

 
阅读更多

SurfaceView 的触控和轨迹球事件

1,改开始什么也没有,当第一点击的时候,图标会出现在那个地方,然后点击其它地方,图标会在触控的地方显示

2,拖着图标移动,到鼠标事件UP的地方绘画停止

  1. <SPAN style="COLOR: #000000">import android.app.Activity;  
  2. import android.content.Context;  
  3. import android.graphics.Bitmap;  
  4. import android.graphics.BitmapFactory;  
  5. import android.graphics.Canvas;  
  6. import android.os.Bundle;  
  7. import android.view.MotionEvent;  
  8. import android.view.SurfaceView;  
  9.   
  10. public class Touch_TrackActivity extends Activity {  
  11.     /** Called when the activity is first created. */  
  12.     class MYSurFaceView extends SurfaceView{  
  13.        float x;  
  14.        float y;  
  15.        Bitmap bitmap=BitmapFactory.decodeResource(getResources(), R.drawable.chart_pie);//用Bitmap获取Android图标   
  16.          
  17.         public MYSurFaceView(Context context) {  
  18.             super(context);  
  19.             setFocusable(true);//使用Key event,setFocusable(true)可以聚焦   
  20.             // TODO Auto-generated constructor stub   
  21.         }  
  22.           
  23.         @Override  
  24.         public boolean onTouchEvent(MotionEvent event) {  
  25.             // TODO Auto-generated method stub   
  26.             x=event.getX();//获取触控的X坐标   
  27.             y=event.getY();//获取触控的Y坐标   
  28.             Draw();  
  29.             return true;  
  30.         }  
  31.           
  32.         @Override  
  33.         public boolean onTrackballEvent(MotionEvent event) {  
  34.             // TODO Auto-generated method stub   
  35.             x=event.getX();//获取轨迹的X坐标   
  36.             y=event.getY();//获取轨迹的Y坐标   
  37.             Draw();  
  38.             return true;  
  39.         }  
  40.         private void Draw()  
  41.         {  
  42.             Canvas canvas=getHolder().lockCanvas();//定义Canvas,用SurfaceHolder的lockCanvas()方法锁住画布   
  43.             canvas.drawBitmap(bitmap, x, y,null);//绘画   
  44.             getHolder().unlockCanvasAndPost(canvas);//解锁画布   
  45.         }  
  46.     }  
  47.     @Override  
  48.     public void onCreate(Bundle savedInstanceState) {  
  49.         super.onCreate(savedInstanceState);  
  50.         setContentView(new MYSurFaceView(this));  
  51.     }  
  52. }</SPAN>  
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics