programacion - mostrar imagen al presionar boton android studio
Botón de alternar con dos imágenes en diferentes estados (3)
Hacer esto:
<ToggleButton
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/check" <!--check.xml-->
android:layout_margin="10dp"
android:textOn=""
android:textOff=""
android:focusable="false"
android:focusableInTouchMode="false"
android:layout_centerVertical="true"/>
crea check.xml en una carpeta dibujable
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/selected_image"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/unselected_image"
android:state_checked="false"/>
</selector>
Necesito hacer un botón para alternar usando dos imágenes en lugar del estado ON / OFF.
En estado apagado, configuré una imagen de fondo. Pero el texto DESACTIVADO no se puede eliminar mientras uso la imagen de fondo.
Y no puedo establecer otra imagen en el estado ON haciendo clic en el botón de alternar :( Soy nuevo en Android. Espero que ustedes me ayuden a salir de este problema
La solución de AkashG no funciona para mí. Cuando configuro check.xml en segundo plano, simplemente se traza en dirección vertical. Para resolver este problema, debe configurar la propiedad check.xml en "android: button":
<ToggleButton
android:id="@+id/toggle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/check" //check.xml
android:background="@null"/>
check.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- When selected, use grey -->
<item android:drawable="@drawable/selected_image"
android:state_checked="true" />
<!-- When not selected, use white-->
<item android:drawable="@drawable/unselected_image"
android:state_checked="false"/>
</selector>
Puedes intentar algo como esto. Aquí al hacer clic en el botón de imagen, alternar la vista de la imagen.
holder.imgitem.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
if(!onclick){
mSparseBooleanArray.put((Integer) view.getTag(), true);
holder.imgoverlay.setImageResource(R.drawable.ipad_768x1024_editmode_delete_overlay_com);
onclick=true;}
else if(onclick)
{
mSparseBooleanArray.put((Integer) view.getTag(), false);
holder.imgoverlay.setImageResource(R.drawable.ipad_768x1024_editmode_selection_com);
onclick=false;
}
}
});