Cómo cambiar la imagen de un botón con cada clic?

Creé un button en el layout . En la carpeta Drawable creé un XML file denominado btn01_state . El btn01_state.xml está asignado al button i creado a través de " android:background=@drawable/btn01_state "

Ahora, el button tiene una image predeterminada img1.when click en el button , la imagen1 cambia a img2, y una vez que suelte el botón del ratón, la imagen2 de nuevo cambió a img1 de nuevo.

Lo que quiero hacer es, para cambiar la imagen del botón con cada clic.

Por ejemplo, inicialmente btn01 tiene img01

Si se pulsa btn01 ==> fija img de btn01 a img02 y mantén img02 hasta que se vuelva a pulsar btn01. Ahora, btn01 tiene img02 en él.

Cuando se presiona btn01, ajuste img01 a btn01.

Espero que esto aclaró más lo que quiero hacer.

Btn_selector :

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@drawable/android_blue" android:state_pressed="true" /> <item android:drawable="@drawable/ic_launcher" android:state_focused="true" /> <item android:drawable="@drawable/ic_launcher" /> 

Main.xml

 <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/btn01" android:background="@drawable/btn01_state"/> 

Usted puede hacerlo fácilmente dentro del código.

 boolean isPressed = false; button.setOnClickListener(buttonListener); OnClickListener buttonListener = new OnClickListener() { @Override public void onClick(View v) { if(isPressed) button.setBackgroundResource(R.drawable.icon1); else button.setBackgroundResource(R.drawable.icon2); isPressed = !isPressed; } }; 

Manera simple

 btn.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub btn.setBackgroundDrawable(getResources().getDrawable(R.drawable.locationbutton_on)); } }); 

Hacerlo en el código tal vez. Ponga un oyente en el botón y cuando el botón se hace clic en el fondo se cambia.

  • Barra de herramientas que se superpone debajo de la barra de estado
  • Diferentes tipos de análisis
  • Símbolo exclamatorio desconocido en el archivo xml
  • Android: Ripple de fondo mediante programación
  • Dirección del elemento de derecha a izquierda en android con más de 4,2
  • cómo hacer que el diseño haga clic de forma programable
  • Analizando XMl en Android usando Xpath
  • Utilizar JAXB (xjc) clases generadas en android
  • Android: Personajes dejados atrás en EditText
  • ¿Cómo editar el valor de un nodo de un archivo XML existente de una tarjeta SD y guardarlo de nuevo?
  • Alinee los valores del hilador a la derecha en lugar de a la izquierda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.