如何制作一个能够打印触摸点并绘制它们的Android应用程序?

时间:2012-01-13 14:14:40

标签: android drawing ontouchevent ondraw

我想制作一个小应用。您将触摸屏幕并绘制一些内容,它将列出您通过的点并为每个第五点绘制小的绿色3x3矩形。我使用onTouchEvent来使用TextView列出点并将其发送到setContentView。但是,我在绘图方面有问题。我检查了绘图的例子(onDraw),但我无法让它适用于打印点和绘制绿点。任何帮助都会很棒,谢谢。

2 个答案:

答案 0 :(得分: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);
    }

}

答案 1 :(得分:0)

目前还不完全清楚你要做什么,但看看this它应该让你开始朝着正确的方向前进。基本上扩展视图并覆盖onDraw(Canvas)以绘制矩形并覆盖onTouchEvent(MotionEvent)以从屏幕抓取触摸点。