2014-02-10 5 views
1

Я имею в виду много сайтов, а также в документации Android, но я все еще возникают путаницы в том, чтоЯвляется ли onDraw() необходимым в SurfaceView?

является onDraw() метод необходим в обоих View и SurfaceView.

Может ли кто-нибудь объяснить мне, как рисовать любую вещь в View и SurfaceView при использовании onDraw() и без использования метода onDraw()?

спасибо.

+0

Да в обоих случаях вы можете нарисовать, переопределив onDraw() метод. –

ответ

5

В SurfaceView не надо, в View это потому, что это ваш шанс, чтобы получить ссылку на холст, так что вы можете добавить дополнительные формы/Bitmaps к виду, однако вид поверхности имеет мощный комплементарный класс, SurfaceHolder который имеет lockCanvas метод, который возвращает ссылку на холсте зрения поверхности (без переопределения onDraw) и, самое главное, с помощью lockCanvas вы можете сделать все чертеж и обработку ваших форм/растровых изображений асинхронноunlockCanvasAndPost опубликовать изменения), в отличие от onDraw, который зависит от основного потока и недействительности вида, который должен быть выполнен ...

Надеюсь, это поможет.

С уважением

Смежные вопросы