85 votes

Changer le texte On/Off d'un bouton bascule Android

Je viens de changer l'arrière-plan d'un ToggleButton , et maintenant je cherche à changer le texte ON/OFF qui l'accompagne. Quelle est la manière la plus simple de faire ça?

208voto

rfsk2010 Points 5333

Vous pouvez utiliser les éléments suivants pour définir le texte à partir du code :

 toggleButton.setText(textOff);
// Sets the text for when the button is first created.

toggleButton.setTextOff(textOff);
// Sets the text for when the button is not in the checked state.

toggleButton.setTextOn(textOn);
// Sets the text for when the button is in the checked state.

Pour définir le texte à l'aide de XML, utilisez ce qui suit :

 android:textOff="The text for the button when it is not checked."
android:textOn="The text for the button when it is checked." 

Cette information est d' ici

16voto

mbaird Points 31293

Dans l'exemple auquel vous vous connectez, ils le modifient en jour/nuit en utilisant android:textOn et android:textOff

13voto

Joolah Points 4617

Définissez le XML comme :

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

3voto

Saurabh Padwekar Points 1136

Dans certains cas, vous devez forcer l'actualisation de la vue pour la faire fonctionner.

 toggleButton.setTextOff(textOff);
toggleButton.requestLayout();

toggleButton.setTextOn(textOn);
toggleButton.requestLayout();

2voto

Martin Erlic Points 2023

Il semble que vous n'ayez plus besoin de toggleButton.setTextOff(textOff); et toggleButton.setTextOn(textOn);. Le texte de chaque état basculé changera en incluant simplement les caractéristiques XML pertinentes. Cela remplacera le texte ON/OFF par défaut.

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X