Я просто изменил фон ToggleButton
, и теперь я хочу изменить текст ВКЛ/ВЫКЛ, который подходит к нему. Каков самый простой способ сделать это?
Измените текст вкл/выкл кнопки переключения Android
Ответ 1
Для установки текста из кода вы можете использовать следующее:
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.
Чтобы установить текст с помощью xml, используйте следующее:
android:textOff="The text for the button when it is not checked."
android:textOn="The text for the button when it is checked."
Эта информация от здесь
Ответ 2
В примере, к которому вы ссылаетесь, они меняют его на День/Ночь, используя android:textOn
и android:textOff
Ответ 3
Задайте XML как:
<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" />
Ответ 4
Кажется, вам больше не нужно toggleButton.setTextOff(textOff); и toggleButton.setTextOn(textOn);. Текст для каждого измененного состояния изменится, просто включив соответствующие характеристики xml. Это будет отменять текст ВКЛ/ВЫКЛ по умолчанию.
<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"/>
Ответ 5
Да вы можете изменить кнопку включения/выключения
android:textOn="Light ON"
android:textOff="Light OFF"
Подробнее см.
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
Ответ 6
Вы можете сделать это двумя способами:
Вариант 1: установив его атрибуты xml
'android:textOff="TEXT OFF"
android:textOn="TEXT ON"'
Вариант 2: программно
Установите атрибут onClick: methodNameHere (у меня есть toggleState) Затем напишите этот код:
public void toggleState(View view) {
boolean toggle = ((ToogleButton)view).isChecked();
if (toggle){
((ToogleButton)view).setTextOn("TEXT ON");
} else {
((ToogleButton)view).setTextOff("TEXT OFF");
}
}
PS: у меня работает, надеюсь, у вас тоже работает
Ответ 7
В некоторых случаях вам нужно принудительно обновить представление, чтобы оно заработало.
toggleButton.setTextOff(textOff);
toggleButton.requestLayout();
toggleButton.setTextOn(textOn);
toggleButton.requestLayout();