2013-06-26 3 views
0

Мне нужно нарисовать аннотации текста на изображении. Он также должен иметь возможность перемещать текст поверх изображения. Можно ли переместить текст с помощью Canvas? Я искал google и нашел предложение использовать TextView в ImageView и сделать снимок экрана. Но когда я перемещаю TextView, это не правильно. Я имею в виду, если я касаюсь текста, то он перемещается где-то, он не находится точно под пальцем.Переместить TextView на ImageView?

ответ

0

Один из способов сделать это, чтобы создать пользовательское представление и установить битовую карту с вашим изображением на холсте:

 canvas.drawBitmap(yourBitmap, new Rect(0,0,100,100), rectangle, null); 

, а затем нарисовать текст:

 canvas.drawText("Your Text", textX, textY, paint); 

и в настраиваемое представление Ontouch:

 public boolean onTouch(View view, MotionEvent event) { 
     if(event.getAction() == MotionEvent.ACTION_DOWN){ 
     textX = event.getX(); 
     textY = event.getY(); 

    invalidate(); 

    return true; 
     } 
return super.onTouchEvent(event); 
    } 

С помощью этого кода Вы перемещаете только текст. Перемещая textView, как описано вами, это зависит от поведения textView, как текст выравнивается внутри textView.

Я не могу проверить этот код на данный момент, но он должен дать вам представление, как это сделать