在Android中的“切换”按钮中的轨道上写入文本

FiX*_*XiT 5 android button android-switch

我正在尝试在Android中自定义“切换”按钮。我有一个问题,我想在轨道上显示开-关文本,而不是在Android上将拇指显示为默认文本。我们可以自定义它吗?

小智 1

您尝试过切换按钮吗?您可以像开关按钮一样进行自定义。我这样使用。1-在drawable文件夹中打开xml

你的 Drawable xml @switch_thumb

 <?xml version="1.0" encoding="utf-8"?>
 <selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_checked="true" android:drawable="@drawable/on" />
    <item android:state_checked="false" android:drawable="@drawable/off" />
 </selector>
Run Code Online (Sandbox Code Playgroud)

布局中切换按钮的 2 组背景

您的布局 xml

<ToggleButton
     android:layout_width="60dp"
     android:layout_height="30dp"
     android:textOn=""
     android:textOff=""
     android:background="@drawable/switch_thumb"
     android:id="@+id/toggle"
     />
Run Code Online (Sandbox Code Playgroud)

3-主要活动开启关闭检查以及是否要设置检查

mToggle.setChecked(true);//mToggle.setChecked(prefs.getBoolean("toggle", false)

mToggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            //put in SharedPreferences 
            editor.putBoolean("toggle", mToggle.isChecked());
            editor.apply();
        }
    });
Run Code Online (Sandbox Code Playgroud)