Invece, prova ad ottenere il tuo ImageView come una tela su cui disegnare.
ImageView CanvasView = (ImageView) findViewById(R.id.fashion_pic)
Da qui è possibile creare il proprio bitmap e ri-disegnare dopo un TouchEvent. Il seguente frammento contiene una necessaria work-around per un bug in 2.1 (o 2.2, non ricordo):
public void redrawImage() {
Bitmap bm = BitmapFactory.decodeResource(getResources(), R.drawable.fashion_pic);
Bitmap proxy = Bitmap.createBitmap(bm.getWidth(), bm.getHeight(), Config.ARGB_8888);
Canvas c = new Canvas(proxy);
//Here, we draw the background image.
c.drawBitmap(bm, new Matrix(), null);
//Here, we draw the text where the user last touched.
c.drawText("Fashion", someGlobalXvariable, someGlobalYvariable, somePaint);
CanvasView.setImageBitmap(proxy);
}
Qui, si è creato una tela che ha già la tua foto come sfondo e le vernici di testo a una variabile xey. Ora, è sufficiente impostare un OnTouchListener:
CanvasView.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent e) {
someGlobalXvariable = e.getX();
someGlobalYvariable = e.getY();
redrawImage();
return true;
}
});
Come si può vedere, l'ascoltatore aggiorna automaticamente l'immagine quando viene toccato, e il testo seguirà dito dell'utente. Dal momento che stai usando una bitmap come tela, puoi anche aggiungere il supporto per salvare/caricare un'immagine se la tua app vuole avere quel tipo di funzionalità.
Modifica: Può essere più efficiente per le prestazioni se si spostano le linee 1-3 da redrawImage()
e le si posiziona altrove, impostando tali oggetti come oggetti globali. Ti lascio armeggiare con quello.
È molto più facile ottenere risposte alle tue domande se in realtà fai una domanda. – CommonsWare
oh, ho capito, sto solo chiedendo una road map – Hunt