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


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"/> 

  • Android gradle src / androidTest / res / diseño / mylayout.xml no se encuentra en mypackage.R
  • Almacenamiento de dimensiones en un archivo xml en Android
  • Cambio de Android Color de sombra de elevación de material
  • Android NumberPicker: Establecer min, max, por defecto de XML
  • Android Maps: No se pudo cargar el mapa. No se pudo contactar con los servidores de Google
  • Botones para rellenar el ancho cuando se utiliza TableLayout
  • Android - FragmentTabHost Error "Ninguna pestaña conocida para la etiqueta null"
  • Nuevo patrón de diseño de la actividad de Android Studio content_main.xml
  • 3 Solutions collect form web for “Cómo cambiar la imagen de un botón con cada clic?”

    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.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.