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.
- ¿Por qué mi EditText se expandió horizontalmente o verticalmente después de configurar Width and Height como wrap_content en android?
- Imagen de estiramiento en la imagen para ajustar la pantalla en xml
- Mensaje de error XML de Android
- ¿Por qué el nombre de archivo xml de android debe contener sólo letras minúsculas y dígitos ()?
- Cómo cambiar el origen de ImageView en android
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"/>
- Cómo agregar encabezado y pie de página a cada actividad en android
- Error al inflacionar la clase android.widget.CheckBox
- Disposición de teclado personalizada de Android dejando un margen de blanco en el lateral
- ¿Cómo aplicar la validación del archivo DTD local al archivo xml en java?
- Android: cómo escalar una imagen para llenar el fondo de un LinearLayout sin preservar la relación de aspecto?
- Android cómo hacer que resalte la vista cuando se hace clic?
- La animación de vista de Android se detiene al salir de la pantalla
- "TransformerException: se esperaba un paso de ubicación" en android xpath
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.
- Activar GPS de forma programática como la aplicación Android de Ola Cabs
- Genera el nombre de apk como nombre de paquete en Android Studio