2013-06-26 55 views
0

我必须在图像上绘制文字注释。它也应该可以选择通过图像移动文本。是否可以通过使用Canvas来移动文本?我搜索谷歌,并找到一个建议,使用ImageView上的TextView并截图。但是当我移动TextView时,它是不正确的。我的意思是,如果我触摸textview,那么它正在某处移动,它并不完全位于手指的下方。要做到这一点在ImageView上移动TextView?

回答

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内部对齐文本。

我现在不能测试这个代码,但它应该给你一个想法如何去做