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. texto alternativo

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?

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.

  • Cómo cancelar View.OnDragListener en android durante la operación de arrastrar?
  • Establecer anclaje personalizado al arrastrar una vista
  • Cómo obtener las coordenadas X, Y correctas de un DragEvent.ACTION_DROP
  • Cómo escribir un InputStream potencialmente enorme para el archivo?
  • Leer WCF REST fecha de android
  • Android: Problema de arrastrar y soltar
  • Arrastrar y soltar con onDraglistener animar para volver a la posición original si no se deja caer en el objetivo
  • Android obtiene tiempo en este formato `aaaa-mm-dd hh: mm: ss`
  • OnDragListener - ¿hay alguna biblioteca de compatibilidad para niveles de Android <11?
  • Android: realizar arrastrar y soltar mediante programación
  • Hacer un lienzo transparente no transparente (tratando de sustituir el aspecto predeterminado de DragShadow con arrastrar y soltar en Android)
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.