我只是更改了的背景ToggleButton
,现在我想更改其附带的ON / OFF文本。最简单的方法是什么?
我只是更改了的背景ToggleButton
,现在我想更改其附带的ON / OFF文本。最简单的方法是什么?
Answers:
您可以使用以下代码来设置代码中的文本:
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."
该信息从这里
android.support.v7.widget.SwitchCompat
用于我检查过的某些OEM!
在您链接到的示例中,他们通过使用android:textOn
和将其更改为Day / Night。android:textOff
看来您不再需要toggleButton.setTextOff(textOff); 和toggleButton.setTextOn(textOn);。通过仅包括相关的xml特性,每个切换状态的文本都会发生变化。这将覆盖默认的ON / OFF文本。
<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"/>
是的,您可以更改开/关按钮
android:textOn="Light ON"
android:textOff="Light OFF"
参考更多
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
您可以通过2个选项执行此操作:
选项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:对我有用,希望对您也有用
在某些情况下,您需要强制刷新视图以使其起作用。
toggleButton.setTextOff(textOff);
toggleButton.requestLayout();
toggleButton.setTextOn(textOn);
toggleButton.requestLayout();
requestLayout()
不起作用,但是setChecked()
可以。