Android : Cambiar BackGround efecto onClick() en Button por XML

Blog >Lista Soluciones > Cambiar background Button

Hola desarrolladores, continuando con el blog vamos a tratar la naturaleza del XML de Android para usarla con un botón.

Como conseguir el efecto de que un botón al pulsar cambie de background en la ejecución de tu app.

Primero,aunque también podría hacerse desde XML (depende de lo que queramos, pero suele quedar más profesional) lo vamos a hacer mediante imágenes.

Tenemos que crear 2 imágenes, que van a partir desde la misma, pero no olvideis que para conseguir el efecto deseado al clickar, una de ellas ha debido ser tratada.Si lo haceis a photoshop, a la hora de guardar ya sea .jpg o .png  no olvideis de usar exportar para web en vez de un simple guardar como.Esto te ahorrará problemas de memoria en un futuro, ya que el gestor de basura de Android es una miserable bazofia.

En las mías, go1 y go2, si os fijais, lo único que tiene una es una sombra, la otra está en bruto :



A continuacion, arrastrar las imágenes a la carpeta drawable, y seleccionar copy-files,después botón derecho al proyecto y crear Android XML File, y en la carpeta drawable insertar el archivo xml que contendrá este código(el mio se llama go.xml):

 oOo XML oOo

    
    

En el código anterior simplemente da las instrucciones en las que dice que al clickar el botón, aparezca una imágen, y sin clickarlo aparezca la otra.
Después, en el XML donde tengamos el botón de nuestra actividad principal, observar lo que se pone en la propiedad background:

oOo XML oOo
                                          
 


Es decir, en vez de llamar a una imagen, llama a un xml que se encarga de asociar las imágenes en función de si el botón está presionado o no, sencillito y rápido.
Mi consejo personal, es que lo hagais primero con un par de imágenes con las mismas dimensiones pero distintas para probar si la programación es correcta, después, trabajar con el diseño.



Podeis descargar el código fuente de thebestandroide con sólo compartir en facebook,twitter,linkedin o suscribirte a nuestro canal RSS más abajo. 



Compartir Compartir Compartir Compartir




11 comentarios:

  1. Esto no funciona... Lo he puesto y nada....

    ResponderEliminar
  2. solo funciona si mantienes presionado el boton, no sirve...

    ResponderEliminar