Мне нужно нарисовать аннотации текста на изображении. Он также должен иметь возможность перемещать текст поверх изображения. Можно ли переместить текст с помощью Canvas? Я искал google и нашел предложение использовать TextView в ImageView и сделать снимок экрана. Но когда я перемещаю TextView, это не правильно. Я имею в виду, если я касаюсь текста, то он перемещается где-то, он не находится точно под пальцем.Переместить TextView на ImageView?
0
A
ответ
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.
Я не могу проверить этот код на данный момент, но он должен дать вам представление, как это сделать