tag:blogger.com,1999:blog-7865516939602924439.post4995232329916979651..comments2024-03-16T17:06:47.179-07:00Comments on Tutoriales - HTML 5 -: Tutorial Android: Drag and Drop (Arrastrar y soltar)Víctor Maldonadohttp://www.blogger.com/profile/11932458560996800817noreply@blogger.comBlogger21125tag:blogger.com,1999:blog-7865516939602924439.post-50410598953030339502015-08-08T16:23:19.290-07:002015-08-08T16:23:19.290-07:00como hago para ajustar la imagen a mi imageViewcomo hago para ajustar la imagen a mi imageViewAnonymoushttps://www.blogger.com/profile/18328699233536298676noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-58997993621561905082015-04-25T23:13:10.120-07:002015-04-25T23:13:10.120-07:00Muito Obrigado por ajudar!! Estava procurando por ...Muito Obrigado por ajudar!! Estava procurando por isso faz dias.<br />Obrigado!Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-43485357744303944452015-01-16T06:28:18.069-08:002015-01-16T06:28:18.069-08:00Muy Buen tuto, explicas perfectamente en cada méto...Muy Buen tuto, explicas perfectamente en cada método lo que hace.<br /><br />pero, ¿si quisiera moverla al tocar sobre la pantalla?, que si toco a la derecha de la imagen, se desplace a la derecha.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-77799481894728135572014-12-22T13:44:32.132-08:002014-12-22T13:44:32.132-08:00public class MainActivity extends Activity impleme...public class MainActivity extends Activity implements OnTouchListener{<br /> //Definimos el marco por el cual podemos arrastrar la imagen<br /> private ViewGroup marco;<br /> //Definimos la imagen que vasmo arrastrar<br /> private ImageView imagen;<br /> //Variables para centrar la imagen bajo el dedo<br /> private int xDelta;<br /> private int yDelta;<br /> <br /> private TextView tv;<br /> <br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_main);<br /> //Relacionamos<br /> marco = (ViewGroup)findViewById(R.id.marco);<br /> tv = (TextView) findViewById(R.id.textView1);<br /> //Creamos la imagen<br /> imagen = new ImageView(this);<br /> //Señalamos la imagen a mostrar<br /> imagen.setImageResource(R.drawable.ic_launcher);<br /> //Añadimos el Listener de la clase<br /> imagen.setOnTouchListener(this);<br /> //Añadimos la imagen al marco<br /> marco.addView(imagen);<br /> }<br /> //Al tocar la pantalla...<br /> public boolean onTouch(View view, MotionEvent event) {<br /> //Recogemos las coordenadas del dedo<br /> final int X = (int) event.getRawX();<br /> final int Y = (int) event.getRawY();<br /> //Dependiendo de la accion recogida..<br /> switch (event.getAction() & MotionEvent.ACTION_MASK) {<br /> //Al tocar la pantalla<br /> case MotionEvent.ACTION_DOWN:<br /> //Recogemos los parametros de la imagen que hemo tocado<br /> RelativeLayout.LayoutParams Params = <br /> (RelativeLayout.LayoutParams) view.getLayoutParams();<br /> xDelta = X - Params.leftMargin;<br /> yDelta = Y - Params.topMargin;<br /> break;<br /> case MotionEvent.ACTION_UP:<br /> //Al levantar el dedo simplemento mostramos un mensaje<br /> Toast.makeText(this, "Soltamos", Toast.LENGTH_LONG).show();<br /> break;<br /> case MotionEvent.ACTION_POINTER_DOWN:<br /> //No hace falta utilizarlo<br /> break;<br /> case MotionEvent.ACTION_POINTER_UP:<br /> //No hace falta utilizarlo<br /> break;<br /> case MotionEvent.ACTION_MOVE:<br /> //Al mover el dedo vamos actualizando <br /> //los margenes de la imagen para<br /> //crear efecto de arrastrado<br /> RelativeLayout.LayoutParams layoutParams = <br /> (RelativeLayout.LayoutParams) view.getLayoutParams();<br /> layoutParams.leftMargin = X - xDelta;<br /> layoutParams.topMargin = Y - yDelta;<br /> //Qutamos un poco de margen para <br /> //que la imagen no se deforme<br /> //al llegar al final de la pantalla y pueda ir más allá<br /> //probar también el codigo omitiendo estas dos líneas<br /> layoutParams.rightMargin = -50;<br /> layoutParams.bottomMargin = -50;<br /> //le añadimos los nuevos <br /> //parametros para mover la imagen<br /> view.setLayoutParams(layoutParams);<br /> tv.setText("X:"+X+" Y:"+Y);<br /> break;<br /> }<br /> //Se podría decir que 'dibujamos' <br /> //la posición de la imagen en el marco.<br /> marco.invalidate();<br /> return true;<br /> }}Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-30295451902991985812014-12-14T22:06:24.235-08:002014-12-14T22:06:24.235-08:00public class MainActivity extends ActionBarActivit...public class MainActivity extends ActionBarActivity implements OnTouchListener {<br /> <br /> TextView text;<br /> ViewGroup marco;<br /> ImageView imagen;<br /><br /> private int xDelta;<br /> private int yDelta;<br /> @Override<br /> protected void onCreate(Bundle savedInstanceState) {<br /> super.onCreate(savedInstanceState);<br /> setContentView(R.layout.activity_main);<br /> <br /> text = (TextView) findViewById(R.id.coordenada);<br /> marco = (ViewGroup) findViewById(R.id.container);<br /> imagen = new ImageView(this);<br /> imagen.setImageResource(R.drawable.ic_launcher);<br /> imagen.setOnTouchListener(this);<br /> marco.addView(imagen);<br /> }<br /><br /> public boolean onTouch(View view, MotionEvent event){<br /> final int X = (int) event.getRawX();<br /> final int Y = (int) event.getRawY();<br /> switch(event.getAction() & MotionEvent.ACTION_MASK){<br /> case MotionEvent.ACTION_UP:<br /> Toast.makeText(this, "Soltamos", Toast.LENGTH_LONG).show();<br /> break;<br /> case MotionEvent.ACTION_DOWN:<br /> RelativeLayout.LayoutParams Params = (RelativeLayout.LayoutParams) view.getLayoutParams();<br /> xDelta = X - Params.leftMargin;<br /> yDelta = Y - Params.topMargin;<br /> break;<br /> case MotionEvent.ACTION_MOVE:<br /> RelativeLayout.LayoutParams layoutParams = (RelativeLayout.LayoutParams) view.getLayoutParams();<br /> layoutParams.leftMargin = X - xDelta;<br /> layoutParams.topMargin = Y - yDelta;<br /> text.setText("X:"+(X - xDelta)+";Y:"+(Y - yDelta));<br /> view.setLayoutParams(layoutParams);<br /> break;<br /> }<br /> marco.invalidate();<br /> return true;<br /> }Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-39831537384000133042014-11-01T14:28:25.561-07:002014-11-01T14:28:25.561-07:00muy buen tutorial..pero disculpa, soy principiante...muy buen tutorial..pero disculpa, soy principiante..me gustaría saber el codigo para arrastrar una imagen a un contenedor y una vez estando en contenedor arroje una imagen como respuesta..me podrias ayudar por favor.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-32330143216343988752014-08-06T04:46:33.180-07:002014-08-06T04:46:33.180-07:00Útil y fácil, gracias ;)Útil y fácil, gracias ;)Alfredonoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-56522213526322944262014-04-01T12:18:48.450-07:002014-04-01T12:18:48.450-07:00Y si quiera poder ampliar y reducir la imagen como...Y si quiera poder ampliar y reducir la imagen como seria?<br />por separado puedo hacerlo, es decir muevo bien y hago zoom con los dedos pero si junto todo no funciona.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-91346754405181922922014-03-22T09:07:27.130-07:002014-03-22T09:07:27.130-07:00Muchas gracias :)Muchas gracias :)Anonymoushttps://www.blogger.com/profile/08944042522957200071noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-89094579378726719082014-02-08T11:41:14.253-08:002014-02-08T11:41:14.253-08:00Hola,
Muy interesante el código y su explicación....Hola,<br /><br />Muy interesante el código y su explicación. Vereis estoy haciendo un ejercicio en el que tengo como imagen de fondo un semáforo, entonces me gustaría hacer que según pulses en una luz o en otra aparezca una pantalla con un mensaje o con otro, pero no sé cómo hacerlo, es decir ¿cómo puedo saber que estoy tocando la parte de la imagen referente a la luz roja?<br /><br />Muchas, gracias.<br /><br />Un saludo.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-269206472322697022013-11-27T00:36:40.373-08:002013-11-27T00:36:40.373-08:00Buenas. ¿como podria guardar la nueva posicion en ...Buenas. ¿como podria guardar la nueva posicion en un XML y que lo leyera correctamente la proxima vez que se ejecute?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-21870347038145583022013-11-19T01:24:58.531-08:002013-11-19T01:24:58.531-08:00No sé si llego a tiempo, o qué... pero si haces es...No sé si llego a tiempo, o qué... pero si haces esto funciona para mover varios objetos a la vez... además el LinearLayout se repite... por que así creas dos intancias, con lo que consigues mover (en este caso) dos objetos por un lado y otros dos por otro:<br />LinearLayout linear;<br /><br /> linear = new LinearLayout(this);<br /> //linear.set<br /> // Relacionamos<br /> marco = (ViewGroup) findViewById(R.id.marco);<br /> // Creamos la imagen<br /> imagen = new ImageView(this);<br /> // Señalamos la imagen a mostrar<br /> imagen.setImageResource(R.drawable.ic_launcher);<br /> linear.addView(imagen);<br /><br /> // Creamos la imagen<br /> imagen = new ImageView(this);<br /> // Señalamos la imagen a mostrar<br /> imagen.setImageResource(R.drawable.bt_info);<br /> linear.addView(imagen);<br /><br /> // Añadimos el Listener de la clase<br /> linear.setOnTouchListener(this);<br /> // Añadimos la imagen al marco<br /> marco.addView(linear);<br /> <br /> linear = new LinearLayout(this);<br /> // Creamos la imagen<br /> imagen = new ImageView(this);<br /> // Señalamos la imagen a mostrar<br /> imagen.setImageResource(R.drawable.ic_launcher);<br /> linear.addView(imagen);<br /><br /> // Creamos la imagen<br /> imagen = new ImageView(this);<br /> // Señalamos la imagen a mostrar<br /> imagen.setImageResource(R.drawable.bt_info);<br /> linear.addView(imagen);<br /><br /> // Añadimos el Listener de la clase<br /> linear.setOnTouchListener(this);<br /> // Añadimos la imagen al marco<br /> marco.addView(linear);Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-54123252800752154362013-09-13T12:09:22.714-07:002013-09-13T12:09:22.714-07:00Buenisimo tutorial!!!!
Una pregunta... ¿como hago ...Buenisimo tutorial!!!!<br />Una pregunta... ¿como hago si tengo dos imagenes que cuando haga el ACTION_DOWN, la que seleccione quede siempre por encima de la otra cuando la mueva? Muchas gracias! Un saludoAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-40992226148380312432013-06-20T17:15:19.289-07:002013-06-20T17:15:19.289-07:00como lo haces 2 o mas imagenes?como lo haces 2 o mas imagenes?Alan Burnetthttps://www.blogger.com/profile/05105465072767813916noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-9509973446845309372013-06-11T02:24:25.034-07:002013-06-11T02:24:25.034-07:00Gracias!Gracias!Víctor Maldonadohttps://www.blogger.com/profile/11932458560996800817noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-65430632913381535252013-06-11T02:24:13.781-07:002013-06-11T02:24:13.781-07:00jajaja ya esta editado muchas gracias.jajaja ya esta editado muchas gracias.Víctor Maldonadohttps://www.blogger.com/profile/11932458560996800817noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-85751554136636629622013-06-09T07:03:23.371-07:002013-06-09T07:03:23.371-07:00El código y tutorial, muy bien, pero me duelen los...El código y tutorial, muy bien, pero me duelen los ojos desde que leí uviera en lugar de hubiera...<br />gracias de todos modos OjCaRhttps://www.blogger.com/profile/10770869421709277912noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-73849547019156772492013-05-31T17:18:42.562-07:002013-05-31T17:18:42.562-07:00Fenomeno. código muy comentado y simple. Gracias!Fenomeno. código muy comentado y simple. Gracias!Davix-35https://www.blogger.com/profile/04610221400838274487noreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-74938430717414236282013-05-30T05:58:11.600-07:002013-05-30T05:58:11.600-07:00Hola, muy buen y simple tutorial.
Mi duda es cómo ...Hola, muy buen y simple tutorial.<br />Mi duda es cómo saber en qué posición se ha soltado la imagen (trabajo con la API 8, por lo que no puedo utilizar view.getX() o view.getY()).<br /><br />GraciasAnonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-26718034841729799042013-02-24T09:46:54.022-08:002013-02-24T09:46:54.022-08:00No he probado, pero supongo que si metes todo lo q...No he probado, pero supongo que si metes todo lo que quieres mover a la vez en un layout y lo tratas como a la imagen de este tutorial lo haría.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-7865516939602924439.post-10594605673016746392013-01-30T11:09:22.886-08:002013-01-30T11:09:22.886-08:00Buen blog, Victor,
¿tienes idea de como se podría...Buen blog, Victor,<br /><br />¿tienes idea de como se podría hacer para mover todos los elementos del viewGroup simultaneamente? (Por ej. un par de TextView y un ImageView a la vez) <br /><br />SaludosIgnacionoreply@blogger.com