2012-08-02 3 views
1

나는 터치 이벤트의 모양을 내 화면에 그려 넣고 싶은 응용 프로그램을 만들고 있습니다. 특히 어떤 API가 터치 이벤트의 모양을 얻으려고합니까?안드로이드의 터치 모양 얻기

모든 예제 또는 코드 스 니펫을 매우 높이 평가합니다. 나라 얀

+0

은 무엇 정확히 당신이 원하는 무엇입니까? 사용자가 터치 한 영역을 화면에서 강조 표시 하시겠습니까? – fiddler

+0

나중에 원형이나 다른 모양이 아닌 터치 영역의 모양이 있습니다. – AndroidCrazy

답변

1

이 코드가 달성해야

덕분에 당신이 원하는 :

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

    } 

} 
관련 문제