En su lugar, intente obtener su ImageView como un lienzo para dibujar.
ImageView CanvasView = (ImageView) findViewById(R.id.fashion_pic)
Desde aquí se puede crear su propio mapa de bits y volver a dibujar después de un TouchEvent. El siguiente fragmento contiene una solución temporal necesario para un error en 2.1 (o 2.2, no puedo recordar):
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);
}
Aquí, se ha creado un lienzo que ya tiene su imagen como fondo y las pinturas de texto en una variable xey. Ahora, acaba de establecer un OnTouchListener:
CanvasView.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent e) {
someGlobalXvariable = e.getX();
someGlobalYvariable = e.getY();
redrawImage();
return true;
}
});
Como se puede ver, el oyente actualiza automáticamente la imagen cuando se toca, y el texto seguirá el dedo del usuario. Como está utilizando un mapa de bits como lienzo, también puede agregar soporte para guardar/cargar una imagen si su aplicación desea tener ese tipo de funcionalidad.
Editar: Puede ser más fácil de usar si mueve las líneas 1-3 de redrawImage()
y las coloca en otro lugar, estableciendo esos objetos como objetos globales. Te dejaré jugar con eso.
Es mucho más fácil obtener respuestas a sus preguntas si realmente hace una pregunta. – CommonsWare
ohh lo tengo, solo estoy pidiendo un mapa de ruta – Hunt