studio - deshabilitar boton retroceso android
Android: Cómo crear un botón deslizante(activar/desactivar) (3)
Me gustaría crear un botón deslizante (= algo como interruptor) con dos estados: encendido y apagado para que el usuario tenga que presionar el botón y deslizarlo para cambiar el estado (algo similar a un deslizador de desbloqueo pero no a toda la pantalla). ¿Tienes alguna idea de cómo hacerlo? Realmente traté de encontrar la respuesta, pero no he tenido éxito.
¡Muchas gracias!
// en su diseño, la siguiente línea
<RelativeLayout android:layout_width="wrap_content" android:id="@+id/rl_onoff"
android:layout_height="wrap_content">
<ImageView android:id="@+id/on_btn" android:layout_width="80dp" android:layout_height="40dp" android:src="@drawable/on_btn" android:visibility="visible"></ImageView>
<ImageView android:id="@+id/off_btn" android:layout_width="80dp" android:layout_height="40dp" android:src="@drawable/off_btn" android:visibility="invisible"></ImageView>
</RelativeLayout>
// en tu actividad llama a esto
ImageView mNotification_on_btn=(ImageView)findViewById(R.id.on_btn);
ImageView mNotification_off_btn=(ImageView)findViewById(R.id.off_btn);
mNotification_on_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mNotification_on_btn.setVisibility(View.GONE);
mNotification_off_btn.setVisibility(View.VISIBLE);
}
});
mNotification_off_btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
mNotification_off_btn.setVisibility(View.GONE);
mNotification_on_btn.setVisibility(View.VISIBLE);
}
});
// esto cambiará como el estilo de iphone en el botón de alternar
Bueno, parece que el componente Switch es la mejor solución si tu SDK objetivo es superior a 4.0 (Ice Cream Sandwich). Entonces, para los demás que enfrentarán el mismo problema, mírenlo. :)
Puede lograr esto mediante el uso de la casilla de verificación o ToggleButton. A continuación hay un ejemplo
archivo xml
<CheckBox
android:id="@+id/check_on_of"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:button="@drawable/chec_box_on_off"
/>
el archivo drawable chec_box_on_off es
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/check_box_on" android:state_checked="true"/>
<item android:drawable="@drawable/check_box_off" android:state_checked="false"/>
</selector>
obtendrá el botón de apagado y también puede verificar si la casilla de verificación está activada o desactivada.
el código de Java es
CheckBox check = (CheckBox)findViewById(R.id.check_on_of);
check.isChecked();
Del mismo modo, también puede lograr esto usando ToggleButton.