2012-01-13 3 views
0

작은 앱을 만들고 싶습니다. 화면을 터치하고 무언가를 그릴 것이며 통과 한 포인트가 나열되고 각 다섯 번째 포인트에 대해 작은 녹색 3x3 직사각형이 그려집니다. TextView를 사용하여 점 목록을 작성하려면 onTouchEvent를 사용하고 setContentView로 보내십시오. 그러나, 나는 그림에 문제가있다. 그리기 (onDraw)에 대한 예제를 확인했지만 인쇄 점과 그리기 점 둘 다에서 작업 할 수 없습니다. 어떤 도움이라도 좋을 것입니다.터치 된 점을 인쇄하여 그리는 Android 앱을 만드는 방법은 무엇입니까?

+0

후 일부 코드,이 – Caner

답변

1

여기에 SurfaceView에 대한 빠른 샘플이 있습니다.

public class FunPanel extends SurfaceView { 

    class Point { 
     int X; 
     int Y; 

     public Point() { 
      X = Y = -1; 
     } 

    } 

    private ArrayList<Point> mPoints = new ArrayList<Point>(); 
    private Point mCurPoint = new Point(); 
    private Bitmap mBitmap = ....// your desired image 


    @Override 
    public void doDraw(Canvas canvas) { 
     if(!(mPoints.size() % 5)) { 
      canvas.drawBitmap(mBitmap, mCurPoint.X, mCurPoint.Y, null); 
     } 
    } 

    @Override 
    public boolean onTouchEvent(MotionEvent event) { 
     mCurPoint.X = (int) event.getX() - mBitmap.getWidth()/2; 
     mCurPoint.Y = (int) event.getY() - mBitmap.getHeight()/2; 

     mPoints.add(mCurPoint); 
     return super.onTouchEvent(event); 
    } 

} 
0

당신이하려는 일이 완전히 명확하지 않지만, this을보십시오. 올바른 방향으로 시작해야합니다. 기본적으로보기를 확장하고 onDraw(Canvas)을 재정 의하여 사각형을 그리고 onTouchEvent(MotionEvent)을 재정 의하여 화면에서 터치 지점을 가져옵니다.

+0

실제로 내가 일하는 그것을 얻을, 그 예를 시도했지만 동시에 텍스트를 인쇄 관리 할 수있는 것처럼 잘못이 무엇인지 알고 그 어려운 ... – Mehmed

관련 문제