Drag n drop textview en android
Quiero arrastrar y soltar la vista de texto en la imagen en android 2.X
Por favor, mira esta imagen a continuación.
- ¿Cómo se puede desplazar un "punto de destino" de Android drag-shadow de su "punto de contacto"?
- Android - Restringir arrastrar y soltar a un cuadro delimitador
- ¿Cómo transformar currentTimeMillis a un formato de fecha legible?
- Cómo arrastrar el TextView al destino correcto otro TextView
- Cómo crear una sombra de arrastre personalizada?
Aquí, el color "Azul" representa el ViewGrop, "Blanco" es ImageView y la imagen se fija en el ImageView. El texto escrito "Moda" es un TextView.This es cómo tengo implementar la estructura. Ahora quiero permitir al usuario seleccionar el TextView y arrastrarlo a cualquier parte de la imagen y luego dejarlo sobre la imagen en la posición deseada.
A partir de ahora para una referencia he intentado referir la url siguiente pero cuando uso TextView en vez de las cosas del botón están consiguiendo anormales.
Texto del enlace
¿Puede alguien darme la hoja de ruta o el ejemplo para hacerlo?
- Java convertir la marca de tiempo UTC a DateTime local
- Cómo hacer Drag & Drop Button en Android
- Tamaño androide de la sombra del dragshadowbuilder
- Cómo reproducir el archivo de audio Mp3 desde el servidor
- ¿Cómo obtener el formato de fecha seleccionado por el usuario en Android?
- ¿Cómo restringir el arrastrar y soltar a lo largo del eje y sólo en android?
- ¿Cómo obtener la vista mientras arrastrar y soltar en android?
- ¿Cómo obtener el comportamiento de pantalla de inicio de arrastrar a bin, en mi propia aplicación?
En su lugar, intente obtener su ImageView como un lienzo para dibujar.
ImageView CanvasView = (ImageView) findViewById(R.id.fashion_pic)
Desde aquí puede crear su propio mapa de bits y volver a dibujarlo después de un TouchEvent. El fragmento siguiente contiene un trabajo necesario alrededor de 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í, ha creado un lienzo que ya tiene su imagen como fondo y pinta 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 puede ver, el oyente actualiza automáticamente su imagen cuando se toca, y el texto seguirá el dedo del usuario. Puesto que 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 actuar si mueve las líneas 1-3 de redrawImage()
y las coloca en otro lugar, configurando esos objetos como objetos globales. Te dejaré jugar con eso.