Acabo de cambiar el fondo de aToggleButton
, y ahora estoy buscando cambiar el texto ON / OFF que aparece. ¿Cuál es la forma más sencilla de hacer esto?
android
togglebutton
styler1972
fuente
fuente
android.support.v7.widget.SwitchCompat
algunos OEM. ¡Lo he comprobado!En el ejemplo al que enlaza, lo están cambiando a Día / Noche usando
android:textOn
yandroid:textOff
fuente
Establezca el XML como:
<ToggleButton android:id="@+id/flashlightButton" style="@style/Button" android:layout_above="@+id/buttonStrobeLight" android:layout_marginBottom="20dp" android:onClick="onToggleClicked" android:text="ToggleButton" android:textOn="Light ON" android:textOff="Light OFF" />
fuente
Parece que ya no necesita toggleButton.setTextOff (textOff); y toggleButton.setTextOn (textOn) ;. El texto de cada estado alternado cambiará simplemente incluyendo las características xml relevantes. Esto anulará el texto de ENCENDIDO / APAGADO predeterminado.
<ToggleButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/toggleText" android:textOff="ADD TEXT" android:textOn="CLOSE TEXT" android:layout_centerHorizontal="true" android:layout_marginTop="10dp" android:visibility="gone"/>
fuente
Sí, puede cambiar el botón de encendido / apagado
android:textOn="Light ON" android:textOff="Light OFF"
Consulte para más
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
fuente
Puede hacer esto con 2 opciones:
`android:textOff="TEXT OFF" android:textOn="TEXT ON"`
public void toggleState(View view) { boolean toggle = ((ToogleButton)view).isChecked(); if (toggle){ ((ToogleButton)view).setTextOn("TEXT ON"); } else { ((ToogleButton)view).setTextOff("TEXT OFF"); } }
PD: funciona para mí, espero que también funcione para ti
fuente
En algunos casos, debe forzar la actualización de la vista para que funcione.
toggleButton.setTextOff(textOff); toggleButton.requestLayout(); toggleButton.setTextOn(textOn); toggleButton.requestLayout();
fuente
requestLayout()
no funciona pero losetChecked()
hace.