Colocar la imagen en las coordenadas de Android

Tengo un programa en el que me gustaría colocar una imagen en las coordenadas de un evento táctil. Tengo las coordenadas ahora sólo necesito ayuda con la colocación de una imagen allí. Estaré utilizando un dibujable.

Editar ** También quiero superponerlo sobre otra imagen. No puedo encontrar ninguna documentación sobre esto lo que nunca. Yo creo que debería ser fácil.

¿Alguien puede ayudarme?

EDIT **** Lo tengo, ahora sólo tengo que averiguar cómo llegar a la mitad de la imagen en el punto de contacto y no en la esquina superior izquierda:

final View touchView2 = findViewById(R.id.ImageView02); touchView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { Log.v("x,y",event.getY()+","+event.getX()); touchView2.bringToFront(); int y = (int)event.getY(); int x = (int)event.getX(); touchView2.layout(x, y, x+48, y+48); return true; } }); 

Coloque la imagen que desea en la parte superior en el xml de su aplicación. Establecerlo invisible o ido …

reemplazar:

  final View touchView2 = findViewById(R.id.ImageView02); 

Antes del constructor de las clases:

 ImageView touchView2; 

Y en el método constructor (onCreate)

 touchView2 = (ImageView) findViewById(R.id.ImageView02); 

Ahora configure un onTouchEventListener obteniendo todos los toques en la pantalla. Si esas coordenadas están en una posición que le gusta llamar al método placeImage con la coordenada X e Y presionada. Este método se coloca fuera del constructor de clase (onCreate) para que el primer método a continuación deba ser correcto:

 @Override public boolean onTouchEvent(MotionEvent event) { super.onTouchEvent(event); int eventAction = event.getAction(); switch(eventAction) { case MotionEvent.ACTION_DOWN: float TouchX = event.getX(); float TouchY = event.getY(); placeImage(TouchX, TouchY); break; } return true; } 

Ahora el método placeImage:

 private void placeImage(float X, float Y) { int touchX = (int) X; int touchY = (int) Y; // placing at bottom right of touch touchView2.layout(touchX, touchY, touchX+48, touchY+48); //placing at center of touch int viewWidth = touchView2.getWidth(); int viewHeight = touchView2.getHeight(); viewWidth = viewWidth / 2; viewHeight = viewHeight / 2; touchView2.layout(touchX - viewWidth, touchY - viewHeight, touchX + viewWidth, touchY + viewHeight); } 

Esta debe ser tu respuesta … ahora solo tienes que hacer touchView visible:

 touchView2.setVisibility(0); 
 Drawable recycle_bin = context.getResources().getDrawable(android.R.drawable.ic_menu_delete); int w = recycle_bin.getIntrinsicWidth(); int h = recycle_bin.getIntrinsicHeight(); int x = getWidth()/2 - w/2; int y = getHeight() - h - 5; recycle_bin.setBounds( x, y, x + w, y + h ); recycle_bin.draw( canvas ); 

Que es cómo dibujo un icono de reciclaje en el centro inferior

Para colocar una imagen en ciertas coordenadas tendrá que dibujar la imagen en el lienzo. Para obtener las coordenadas del evento táctil, utilice el código siguiente:

 @Override public void onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_MOVE) { mTouchX = event.getX(); mTouchY = event.getY();//stores touch event } else { mTouchX = -1; mTouchY = -1; } super.onTouchEvent(event); } 
  • ¿Hay sitios especiales para obtener fondos / imágenes ricos para aplicaciones móviles?
  • ImageView y TextView flotan (izquierda / derecha) Android
  • Android: ¿Cómo comprobar si el archivo es imagen?
  • Imagen de mapa de bits sin memoria
  • Cómo obtener la altura y el ancho de una imagen utilizada en android
  • ¿Cómo puedo modificar TouchImageView con doble toque para acercar y alejar?
  • Imagen de umbral Blanco-Blanco en tiempo real de Android
  • Imágenes de presentación de diapositivas en android
  • Efecto de tinte en Android
  • Cómo tomar fotos mediante programación mientras graba vídeo utilizando la API de Camera2 en Andorid
  • Relación de escala en imágenes de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.