Android ToggleButton

To display checked/unchecked or On/Off state on the button, the Android Toggle Button can be used. When we need to change the settings between two states, like On/Off Sound, Wifi, Bluetooth, etc, the Android Toggle Button is recommended. The switch is a toggle button introduced in Android 4.0 to provide slider control. Both the Android ToggleButton and Switch are the subclasses of the CompoundButton class.

Android ToggleButton class:

The facility to create the toggle button is provided by the ToggleButton class.

XML Attributes of ToggleButton class:

XML Attribute Uses
android:disabledAlpha It represents the alpha to apply to the indicator when disabled.
android:textOff It represents the text for the button when it is not checked.
android:textOn It represents the text for the button when it is checked.

Methods of ToggleButton class:

The popular methods of ToggleButton class are

Method Uses
CharSequence getTextOff() To return the text when the button is not in the checked state.
CharSequence getTextOn() To return the text for when the button is in the checked state.
void setChecked(boolean checked) To change the checked state of this button.

Android ToggleButton Example:

activity_main.xml

First, we need to drag two toggle buttons and one button for the layout. The code of the activity_main.xml file will be then:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   android:layout_width="match_parent"
   android:layout_height="match_parent"
 >
 
   <ToggleButton
       android:id="@+id/toggleButton"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginLeft="8dp"
       android:layout_marginTop="80dp"
       android:text="ToggleButton"
       android:textOff="Off"
       android:textOn="On"
       app:layout_constraintEnd_toStartOf="@+id/toggleButton2"
       app:layout_constraintStart_toStartOf="parent"
       app:layout_constraintTop_toTopOf="parent" />
 
   <ToggleButton
       android:id="@+id/toggleButton2"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginRight="60dp"
       android:layout_marginTop="80dp"
       android:text="ToggleButton"
       android:textOff="Off"
       android:textOn="On"
       app:layout_constraintEnd_toEndOf="parent"
       app:layout_constraintTop_toTopOf="parent" />
 
   <Button
       android:id="@+id/button"
      android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_marginBottom="144dp"
       android:layout_marginLeft="148dp"
       android:text="Submit"
       app:layout_constraintBottom_toBottomOf="parent"
       app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>

Activity class:

Code to check if toggle button is ON/OFF:

package com.example.app1;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;
 
public class MainActivity extends AppCompatActivity {
   private ToggleButton toggleButton1, toggleButton2;
   private Button buttonSubmit;
   @Override
   protected void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.activity_main);
 
       addListenerOnButtonClick();
   }
 
   public void addListenerOnButtonClick(){
       //Getting the ToggleButton and Button instance from the layout xml file
       toggleButton1= findViewById(R.id.toggleButton);
       toggleButton2= findViewById(R.id.toggleButton2);
       buttonSubmit= findViewById(R.id.button);
 
       //Performing action on button click
       buttonSubmit.setOnClickListener(new View.OnClickListener(){
 
           @Override
           public void onClick(View view) {
               StringBuilder result = new StringBuilder();
               result.append("ToggleButton1 : ").append(toggleButton1.getText());
               result.append("\nToggleButton2 : ").append(toggleButton2.getText());
               //Displaying the message in toast
               Toast.makeText(getApplicationContext(), result.toString(),Toast.LENGTH_LONG).show();
           }
 
       });
 
   }
}

 

Output 1:

Output 2: