Tôi vừa thay đổi nền của aToggleButton
và bây giờ tôi đang tìm cách thay đổi văn bản BẬT / TẮT đi kèm với nó. cách dễ nhất để làm điều này là gì?
Tôi vừa thay đổi nền của aToggleButton
và bây giờ tôi đang tìm cách thay đổi văn bản BẬT / TẮT đi kèm với nó. cách dễ nhất để làm điều này là gì?
Câu trả lời:
Bạn có thể sử dụng phần sau để đặt văn bản từ mã:
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.
Để đặt văn bản bằng xml, hãy sử dụng như sau:
android:textOff="The text for the button when it is not checked."
android:textOn="The text for the button when it is checked."
Thông tin này là từ đây
android.support.v7.widget.SwitchCompat
một số OEM mà tôi đã kiểm tra!
Trong ví dụ mà bạn liên kết đến, họ đang thay đổi nó thành Ngày / Đêm bằng cách sử dụng android:textOn
vàandroid:textOff
Có vẻ như bạn không cần toggleButton.setTextOff (textOff) nữa; và toggleButton.setTextOn (textOn) ;. Văn bản cho mỗi trạng thái được bật tắt sẽ thay đổi bằng cách chỉ bao gồm các đặc điểm xml có liên quan. Điều này sẽ ghi đè văn bản BẬT / TẮT mặc định.
<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"/>
Có, bạn có thể thay đổi nút bật / tắt
android:textOn="Light ON"
android:textOff="Light OFF"
Tham khảo thêm
http://androidcoding.in/2016/09/11/android-tutorial-toggle-button
Bạn có thể thực hiện việc này bằng 2 tùy chọn:
Tùy chọn 1: Bằng cách thiết lập các thuộc tính xml của nó
`android:textOff="TEXT OFF"
android:textOn="TEXT ON"`
Tùy chọn 2: Lập trình
Đặt thuộc tính onClick: methodNameHere (của tôi là toggleState) Sau đó viết mã này:
public void toggleState(View view) {
boolean toggle = ((ToogleButton)view).isChecked();
if (toggle){
((ToogleButton)view).setTextOn("TEXT ON");
} else {
((ToogleButton)view).setTextOff("TEXT OFF");
}
}
Tái bút: nó hiệu quả với tôi, hy vọng nó cũng hiệu quả với bạn
Trong một số trường hợp, bạn cần buộc làm mới chế độ xem để làm cho nó hoạt động.
toggleButton.setTextOff(textOff);
toggleButton.requestLayout();
toggleButton.setTextOn(textOn);
toggleButton.requestLayout();
requestLayout()
không hoạt động nhưng setChecked()
có.