1

我必须在 Image 上绘制文本注释。它还应该可以选择将文本移动到图像上。是否可以使用 Canvas 移动文本?我搜索了谷歌并找到了在 ImageView 上使用 TextView 并截取屏幕截图的建议。但是当我移动 TextView 时,它是不正确的。我的意思是,如果我触摸 textview,那么它会移动到某个地方,而不是正好在手指下方。

4

1 回答 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 回答