Как сделать приложение для Android, которое печатает точки касания и рисует их? - PullRequest
0 голосов
/ 13 января 2012

Я хочу сделать небольшое приложение. Вы прикоснетесь к экрану и нарисуете что-нибудь, в нем будут перечислены пройденные вами точки и нарисованы маленькие зеленые прямоугольники 3х3 для каждой пятой точки. Я использую onTouchEvent для перечисления точек с помощью TextView и отправляю его в setContentView. Однако у меня есть проблема в рисовании. Я проверил примеры для рисования (onDraw), но я не могу заставить его работать как для точки печати, так и для рисования зеленых точек. Любая помощь будет великолепна, спасибо.

Ответы [ 2 ]

1 голос
/ 13 января 2012

Вот вам, быстрый пример рисования на 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 голосов
/ 13 января 2012

Не совсем понятно, что вы пытаетесь сделать, но посмотрите на это . Это должно привести вас в правильном направлении. В основном, расширьте представление и переопределите onDraw(Canvas), чтобы нарисовать прямоугольники, и переопределите onTouchEvent(MotionEvent), чтобы захватить точки касания с экрана.

...