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.
- Cómo agregar el paquete java.awt.image en Android
- Cambiar la imagen del botón en android
- ¿Es posible mostrar la imagen con el método loadDataWithBaseURL () en android?
- Superponer una imagen (sobre lienzo) en un VideoView?
- Cómo obtener datos Exif de un InputStream en lugar de un archivo?
¿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; } });
- Cómo obtener el ancho y la altura de un android.widget.ImageView?
- ¿Se puede configurar el fondo de pantalla como fondo?
- Nueva advertencia en Android 4.4
- Android twitter4j - ¿Cómo compartir la imagen remota?
- Cómo dibujar la imagen en el androide de vista superficial
- Tamaño incorrecto de Drawable.getIntrinsicWidth ()
- Androide. Cómo escribir texto en la imagen realmente grande (mapa de bits) y guardar
- Cómo poner una imagen a la derecha de un botón de radio, Android
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); }
- ¿Está "bien" agregar la última palabra clave a un método heredado / anulado?
- Android anima una lista de animación