Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Arrastrar y soltar con onDraglistener animar para volver a la posición original si no se deja caer en el objetivo

Estoy haciendo una aplicación de juego donde necesito utilizar ondraglistener para arrastrar y soltar aquí lo que estoy haciendo en una clase que implementa onDraglistener.

@Override public boolean onDrag(View v, DragEvent event) { switch (event.getAction()) { case DragEvent.ACTION_DRAG_STARTED: Log.v("here","drag started"); //no action necessary break; case DragEvent.ACTION_DRAG_ENTERED: //no action necessary Log.v("here","drag enteres"); break; case DragEvent.ACTION_DRAG_LOCATION: int mCurX = (int) event.getX(); int mCurY = (int) event.getY(); Log.v("Cur(X, Y) : " ,"here ::" + mCurX + ", " + mCurY ); break; case DragEvent.ACTION_DRAG_EXITED: //no action necessary Log.v("here","drag exits"); break; case DragEvent.ACTION_DROP: .................do what ever when dropped... } 

Aquí lo que estoy haciendo en touchlistener de una vista para ser arrastrado y cayó:

  • Centro de contenido en vista de desplazamiento
  • Android - Geocoder.getFromLocationName () no funciona en el dispositivo ICS
  • Android - ¿Cómo es posible que un servicio siga funcionando después de que la Actividad haya sido cerrada?
  • La mejor manera de evaluar la velocidad de conexión
  • Cómo vincular un CursorAdapter a un ExpandableListView?
  • Lectura de todos los eventos de hoy con CalendarContract - Android 4.0+
  •  public boolean onTouch(View view, MotionEvent motionEvent) { if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) { /* * Drag details: we only need default behavior * - clip data could be set to pass data as part of drag * - shadow can be tailored */ view.setTag("option"+index); ClipData data = ClipData.newPlainText("tag", "option"+index); shadowBuilder = new View.DragShadowBuilder(view); //start dragging the item touched view.startDrag(data, shadowBuilder, view, 0); offsetX = (int)view.getX();//(int)motionEvent.getX(); offsetY = (int)view.getY();//motionEvent.getY(); Log.v("here","it is ::" + (int)motionEvent.getX() + " , "+(int)motionEvent.getY()); return false; } 

    Ahora construye el constructor de sombras que se arrastran a cualquier lugar que arrastre dedo. Ahora cómo podría animar el constructor de la sombra o la opinión que vuelve a su posición cuando no caído a la blanco. Intenté boolean público onInterceptTouchEvent (evento de MotionEvent) y moviéndose a la vista del padre y tomando la posición de x, y animándola para volver a su posición original pero consigue la acción cancelada. ¿Hay alguna forma de obtener x, y coordenadas a un lugar de la vista se redujo a continuación, el objetivo. Entonces sería capaz de animarlo entre las posiciones. Gracias de antemano

  • Enviar paquete con transacción de fragmentos
  • Eliminar los efectos de desplazamiento de RecyclerView
  • Android :: ¿Cómo desconectarse de una red wifi?
  • Cómo mover los botones de texto cuando se pulsa el estado
  • Cómo obtener cobertura de código en Android usando Maven (android-maven-plugin)
  • Android: ¿Existe alguna biblioteca PDF gratuita para Android
  • One Solution collect form web for “Arrastrar y soltar con onDraglistener animar para volver a la posición original si no se deja caer en el objetivo”

    Usted necesita manejar la gota:

     switch (event.getAction()) { case DragEvent.ACTION_DRAG_ENTERED: //break here was removed in purpose so you can see the shadow and the element is still at its initial place. case DragEvent.ACTION_DROP: View view = (View) event.getLocalState(); if (prioritiesList.contains(v)) { ViewGroup viewgroup = (ViewGroup) view.getParent(); viewgroup.removeView(view); LinearLayout containView = (LinearLayout) v; containView.addView(view); view.setVisibility(View.VISIBLE); break; } 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.