我必须在Image上绘制文本注释。它还应该选择在Image上移动文本。是否可以使用Canvas移动文本?我搜索了谷歌并发现了一个建议,在ImageView上使用TextView并截取屏幕截图。但是当我移动TextView时,它是不正确的。我的意思是,如果我触摸文本视图,那么它正在某处移动,它不是完全在手指下方。
答案 0 :(得分: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中对齐文本。
我暂时无法测试此代码,但它应该让您知道如何操作