Холст и рисунок изображения в макете - PullRequest
0 голосов
/ 31 марта 2012

У меня есть код, где я рисую изображение:

class Panel extends View {

        public Panel(Context context) {
            super(context);
        }

        @Override
        public void onDraw(Canvas canvas) {
            Bitmap _scratch = BitmapFactory.decodeResource(getResources(), R.drawable.calvin_logo_small);
            canvas.drawColor(Color.WHITE);
            canvas.drawBitmap(_scratch, x-point, y-point, null);
        }
    }

Как я могу нарисовать это изображение в своей деятельности, но я не хочу менять макет. У меня есть макет: setContentView(R.layout.main); Это можно нарисовать в этом лауте с помощью холста? У меня есть эта деятельность, и у этого макета есть много компонентов. Я хочу, чтобы изображение было только там, где я нажимаю на холсте. Это идея. Я запускаю приложение, где начинаю активность с моего setContentView(R.layout.main);. После этого я нажимаю на экран и рисую холст в том месте, где щелкнул. Это можно сделать?

1 Ответ

1 голос
/ 31 марта 2012

Ваш код должен работать. Просто переопределите onTouchEvent() для вида, сохраните координаты события касания в переменных поля и invalidate() для вида, чтобы вызвать onDraw(). Используйте координаты в onDraw() для рендеринга изображения, как вы уже сделали.

Для повышения производительности вы можете кэшировать растровое изображение, если оно не изменится.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...