Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 24/12/13, 19:26:04
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Animar un boton con imagenes.

Tengo unos cuantos botones creados con sus respectivas imagenes de fondo, imagenes al pulsar etc, hay manera de usar por ejemplo una animacion al pulsar el boton? tengo creada una animacion con imagenes .png en la carpeta drawable, pero so soy capaz de que se mueva en el boton .
Responder Con Cita


  #2  
Viejo 24/12/13, 19:41:04
Avatar de neoadn
neoadn neoadn no está en línea
Usuario muy activo
Mensajes: 632
 
Fecha de registro: abr 2010
Localización: Orense
Mensajes: 632
Modelo de smartphone: Redmi Note 4
Versión de ROM: MIUI
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
No se si te funcionará pero prueba con esto, si quieres volver anirmar el boton vuelve a lanzarlo y te deberia de estar animado... pero no se si te funcionará.

Prueba primero este.
Código:
Button b1 = (Button) find.....;

AnimationDrawable frame = (AnimationDrawable) b1.getBackground();
			frame.stop();
			frame.start();

Si no funciona intenta con esté, hace tiempo no me funcionaba de la primera forma y aunque es una tontería ya que para y arranca esté como esté me lo había arreglado.

Código:
Button b1 = (Button) find.....;

AnimationDrawable frame = (AnimationDrawable) b1.getBackground();
		if (frame.isRunning()) {
			frame.stop();
			frame.start();
		} else {
			frame.stop();
			frame.start();
		}
PD- La animación debe de estar en un animation-list

Última edición por neoadn Día 24/12/13 a las 19:45:05
Responder Con Cita
  #3  
Viejo 26/12/13, 17:10:56
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Hola neoadn, gracias por tu respuesta, mira yo para una animacion normal en un ImageView lo pongo asi, y me funciona correctamente...

Primero creo un animation-list.

declaro la animacion.
AnimationDrawable mi_animacion;

en onCreate:

// Animacion.
ImageView imgmov = (ImageView) findViewById(R.id.imagen_anim);
imgmov.setBackgroundResource(R.drawable.animacion1 );
mi_animacion = (AnimationDrawable) imgmov.getBackground();

// Empezar animacion.
imgmov.post(new Runnable(){
public void run(){
mi_animacion.start();
}

pero en el boton no me funciona porque los tengo en un array y no se como acceder a ellos.

// Los Botones
private ImageView Botones[];

// Inicializar los botones
Botones = new ImageView[miJuego.getBOARD_SIZE()];
Botones[0] = (ImageView) findViewById(R.id.one);
Botones[1] = (ImageView) findViewById(R.id.two);
Botones[2] = (ImageView) findViewById(R.id.three);
Botones[3] = (ImageView) findViewById(R.id.four);
Botones[4] = (ImageView) findViewById(R.id.five);
Botones[5] = (ImageView) findViewById(R.id.six);
Botones[6] = (ImageView) findViewById(R.id.seven);
Botones[7] = (ImageView) findViewById(R.id.eight);
Botones[8] = (ImageView) findViewById(R.id.nine);

Despues pongo una imagen a cada boton (estatica):

if (player == miJuego.PLAYER_ONE)
Botones[location].setBackgroundDrawable(getResources().getDrawable( R.drawable.btn_uno));
else
Botones[location].setBackgroundDrawable(getResources().getDrawable( R.drawable.btn_dos)); // Aqui es cuando no se donde me equivoco y como acceder al array de los botones.




...
Responder Con Cita
  #4  
Viejo 17/09/14, 11:57:14
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Aprovecho este hilo ya que va de lo mismo, tengo un boton con un switch que al reproducir el sonido cambia el fondo del boton a otra imagen, y cuando pulsas otra vez detiene el sonido y vuelve a poner el fondo por defecto, pero... como podria hacer para que al detenerse el sonido automaticamente se cambiase la imagen de fondo sin tocar el boton?.
Responder Con Cita
  #5  
Viejo 17/09/14, 12:17:29
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Si usas SoundPool no se puede mediante un evento, si usas MediaPlayer tienes el evento OnCompletionListener.

La solución al SoundPool sería saber cuanto dura el sonido (SoundPool tampoco te da esa información, puedes apoyarte en MediaPlayer para obtener la info mientras rellenas el SoundPool) y guardarlo en un diccionario. Cuando vas a reproducir el sonido sabrás el tiempo que tendrás que darle por ejemplo a un CountDownTimer para que haga la animación de cambio.
Responder Con Cita
Gracias de parte de:
  #6  
Viejo 18/09/14, 09:43:06
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Uso Media Player, probare lo que has dicho con OnCompletionListener a ver si funciona.
Responder Con Cita
  #7  
Viejo 25/09/14, 12:20:08
Avatar de kaiser75
kaiser75 kaiser75 no está en línea
Miembro del foro
Mensajes: 493
 
Fecha de registro: ene 2011
Mensajes: 493
Modelo de smartphone: Vernee Mars, Galaxy S3
Tu operador: Orange
Mencionado: 3 comentarios
Tagged: 0 hilos
Tengo otra consulta sobre las animaciones del boton, el OnCompletionListener que dijo kriogeN funciona perfecto, lo que pasa es que tengo un array de botones con un array de sonidos, estos se reproducen correctamente segun el boton que pulsas y muestran la animacion que al terminar el sonido se para.

El problema es que si pulso otro boton sin dejar que termine el que he pulsado antes se queda la animacion en bucle, teniendo varios botones con la animacion puesta, hay manera de resetear la animacion y que deje el fondo por defecto en los botones que no reproducen sonido?
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 17:57:42 (GMT +1)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007