2013-06-23 3 views
0

Я использовал imageview, указанный в xml для отображения .png image Я хочу нарисовать линии, следуя пальцу по изображению. Я попытался установить onTouchListener() над представлением изображения , но я не знаю, как продолжить дальше. Заранее спасибоНа картинке:

ответ

3

Вы пытаетесь сделать неправильный подход.

Чтобы нарисовать линии, как это, вам нужно будет рисовать на холсте. Вы получаете такой холст в методе onDraw.

Это означает, что вместо того, чтобы использовать запас ImageView вам нужно создать свой собственный View, переопределить его метод onDraw нарисовать изображение, а затем рисовать любые «линии следующего пальца по изображению». Если вы хотите больше, чем последняя линия, чтобы быть видимыми, то вы также должны сохранить те на холст, который вы создаете, так что вы будете иметь свой OnDraw сделать следующее:

  1. Draw исходного изображения

  2. Нарисуйте холст, содержащий старые строки

  3. Нарисуйте текущую строку.

Учитывая, что вы будете использовать свой собственный взгляд, вы не будете использовать onTouchListener(), но вместо того, чтобы переопределить функции представления onTouchEvent(MotionEvent event).

Посмотрите на демо API Google. Графика -> Fingerpaint (импортируйте его с помощью File -> New -> Other -> Android -> Android Sample Project -> Android X.Y.Z -> API Demos), особенно класс com.example.android.apis.graphics.FingerPaint.

Кроме того, если вы хотите нарисовать точку при нажатии на экран, тогда this вопрос вам интересен.