web-dev-qa-db-ja.com

トグルボタンのオン/オフテキストを変更するAndroid

私はただ ToggleButtonの背景を変更した であり、今度はそれに付随するON/OFFテキストを変更しようとしています。これを行う最も簡単な方法は何ですか?

76
styler1972

以下を使用して、コードからテキストを設定できます。

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

この情報は here からのものです

187
rfsk2010

リンク先の例では、Android:textOnおよびAndroid:textOffを使用してDay/Nightに変更しています

16
Mark B

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

これは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:それは私のために働く、それもあなたのために働くことを願って

2
Feps

もう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"/>
2
Martin Erlic

はい、オン/オフボタンを変更できます

    Android:textOn="Light ON"
    Android:textOff="Light OFF"

詳細については

http://androidcoding.in/2016/09/11/Android-tutorial-toggle-button

2
abhi

場合によっては、ビューを機能させるためにビューを強制的に更新する必要があります。

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

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