Sadece bir arka planını değiştirdiToggleButton
ve şimdi onunla çıkageldi AÇIK / KAPALI metni değiştirmek için arıyorum. Bunu yapmanın en kolay yolu nedir?
Sadece bir arka planını değiştirdiToggleButton
ve şimdi onunla çıkageldi AÇIK / KAPALI metni değiştirmek için arıyorum. Bunu yapmanın en kolay yolu nedir?
Yanıtlar:
Metni koddan ayarlamak için aşağıdakileri kullanabilirsiniz:
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.
Metni xml kullanarak ayarlamak için aşağıdakileri kullanın:
android:textOff="The text for the button when it is not checked."
android:textOn="The text for the button when it is checked."
Bu bilgi buradan
android.support.v7.widget.SwitchCompat
, kontrol ettiğim bazı OEM'lerde çalışmıyor !
Bağlandığınız örnekte, android:textOn
ve kullanarak bunu Gündüz / Gece olarak değiştiriyorlar.android:textOff
XML'yi şu şekilde ayarlayın:
<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" />
Bazı durumlarda, çalışmasını sağlamak için görünümü yenilemeye zorlamanız gerekir.
toggleButton.setTextOff(textOff);
toggleButton.requestLayout();
toggleButton.setTextOn(textOn);
toggleButton.requestLayout();
requestLayout()
çalışmıyor ama çalışıyor setChecked()
.
Artık toggleButton.setTextOff (textOff) 'a ihtiyacınız yok gibi görünüyor; ve toggleButton.setTextOn (textOn) ;. Her geçiş durumu için metin, yalnızca ilgili xml özelliklerini içererek değişecektir. Bu, varsayılan AÇIK / KAPALI metnini geçersiz kılacaktır.
<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"/>
Evet, açma / kapama düğmesini değiştirebilirsiniz
android:textOn="Light ON"
android:textOff="Light OFF"
Daha fazlası için bakın
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
Bunu 2 seçenekle yapabilirsiniz:
Seçenek 1: xml niteliklerini ayarlayarak
`android:textOff="TEXT OFF"
android:textOn="TEXT ON"`
2. Seçenek: Programlı olarak
OnClick: methodNameHere özelliğini ayarlayın (benimki toggleState) Sonra şu kodu yazın:
public void toggleState(View view) {
boolean toggle = ((ToogleButton)view).isChecked();
if (toggle){
((ToogleButton)view).setTextOn("TEXT ON");
} else {
((ToogleButton)view).setTextOff("TEXT OFF");
}
}
Not: benim için çalışıyor, umarım sizin için de çalışır