获取触摸形状在android

问题描述:

我正在创建一个应用程序,我想要在我的屏幕中绘制触摸事件的形状。任何ApI都会特别获取触摸事件的形状?获取触摸形状在android

任何示例或代码片段非常感谢。

感谢 纳拉扬

+0

你到底要干什么?在屏幕上突出显示用户触摸的区域? – fiddler 2012-08-02 14:48:03

+0

雅与触摸区域的形状,而不是圆形或任何其他形状 – AndroidCrazy 2012-08-02 14:53:20

该代码段应达到你想要的东西:

public class TestActivity extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(new DrawingView(this)); 
    } 

    class DrawingView extends SurfaceView { 

     private final SurfaceHolder surfaceHolder; 
     private final Path path = new Path(); 
     private final Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG); 

     public DrawingView(Context context) { 
      super(context); 
      surfaceHolder = getHolder(); 
      paint.setStyle(Paint.Style.STROKE); 
      paint.setStrokeWidth(3); 
      paint.setColor(Color.WHITE); 
     } 

     @Override 
     public boolean onTouchEvent(MotionEvent event) { 
      switch(event.getAction()) { 
      case MotionEvent.ACTION_DOWN: 
       path.moveTo(event.getX(), event.getY()); 
       break; 
      case MotionEvent.ACTION_MOVE: 
       if (surfaceHolder.getSurface().isValid()) { 
        Canvas canvas = surfaceHolder.lockCanvas(); 
        path.lineTo(event.getX(), event.getY()); 
        canvas.drawPath(path, paint); 
        surfaceHolder.unlockCanvasAndPost(canvas); 
       } 
       break; 
      } 
      return true; 
     } 

    } 

}