2013-06-26 1 views
0

Je dois dessiner des annotations de texte sur Image. Il devrait également avoir le choix de déplacer le texte sur l'image. Est-il possible de déplacer le texte en utilisant le Canvas? J'ai cherché google et trouvé une suggestion pour utiliser un TextView sur ImageView et prendre une capture d'écran. Mais quand je déplace le TextView, ce n'est pas correct. Je veux dire que si je touche le textview, alors il bouge quelque part, ce n'est pas exactement sous le doigt.Déplacer TextView sur ImageView?

Répondre

0

Une façon de le faire, est de créer une vue personnalisée et définir un bitmap avec votre image sur la toile:

 canvas.drawBitmap(yourBitmap, new Rect(0,0,100,100), rectangle, null); 

puis dessiner le texte:

 canvas.drawText("Your Text", textX, textY, paint); 

et dans la vue personnalisée 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); 
    } 

Avec ce code Vous déplacez uniquement le texte. En déplaçant un textView comme vous l'avez décrit, cela dépend du comportement de textView dans la façon dont le texte est aligné dans le textView.

Je ne peux pas tester ce code pour l'instant, mais cela devrait vous donner une idée de la façon de le faire