Właśnie zmieniłem tło aToggleButton
, a teraz chcę zmienić tekst WŁ. / WYŁ., Który się pojawi. Jaki jest najłatwiejszy sposób na zrobienie tego?
Właśnie zmieniłem tło aToggleButton
, a teraz chcę zmienić tekst WŁ. / WYŁ., Który się pojawi. Jaki jest najłatwiejszy sposób na zrobienie tego?
Odpowiedzi:
Możesz użyć następujących, aby ustawić tekst z kodu:
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.
Aby ustawić tekst za pomocą XML, użyj następujących poleceń:
android:textOff="The text for the button when it is not checked."
android:textOn="The text for the button when it is checked."
Ta informacja pochodzi stąd
android.support.v7.widget.SwitchCompat
niektórymi producentami OEM. Sprawdziłem to!
W przykładzie, do którego tworzysz łącze, zmieniają go na Dzień / Noc za pomocą android:textOn
iandroid:textOff
Ustaw XML jako:
<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" />
W niektórych przypadkach musisz wymusić odświeżenie widoku, aby działał.
toggleButton.setTextOff(textOff);
toggleButton.requestLayout();
toggleButton.setTextOn(textOn);
toggleButton.requestLayout();
requestLayout()
nie działa, ale setChecked()
działa.
Wygląda na to, że nie potrzebujesz już toggleButton.setTextOff (textOff); i toggleButton.setTextOn (textOn) ;. Tekst dla każdego przełączonego stanu zmieni się, po prostu uwzględniając odpowiednie cechy XML. Spowoduje to zastąpienie domyślnego tekstu WŁ. / WYŁ.
<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"/>
Tak, możesz zmienić przycisk włączania / wyłączania
android:textOn="Light ON"
android:textOff="Light OFF"
Więcej informacji
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
Możesz to zrobić za pomocą 2 opcji:
Opcja 1: ustawiając atrybuty xml
`android:textOff="TEXT OFF"
android:textOn="TEXT ON"`
Opcja 2: programowo
Ustaw atrybut onClick: methodNameHere (mój to toggleState) Następnie napisz ten kod:
public void toggleState(View view) {
boolean toggle = ((ToogleButton)view).isChecked();
if (toggle){
((ToogleButton)view).setTextOn("TEXT ON");
} else {
((ToogleButton)view).setTextOff("TEXT OFF");
}
}
PS: to działa dla mnie, mam nadzieję, że działa również dla Ciebie