我必须在 Image 上绘制文本注释。它还应该可以选择将文本移动到图像上。是否可以使用 Canvas 移动文本?我搜索了谷歌并找到了在 ImageView 上使用 TextView 并截取屏幕截图的建议。但是当我移动 TextView 时,它是不正确的。我的意思是,如果我触摸 textview,那么它会移动到某个地方,而不是正好在手指下方。
问问题
773 次
1 回答
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 内对齐。
我现在无法测试这段代码,但它应该让你知道如何去做
于 2013-06-26T13:08:50.750 回答