Toggle Buttons
A toggle button allows the user to change a setting between two states.
You can add a basic toggle button to your layout with the ToggleButton object. Android 4.0 (API level 14) introduces another kind of toggle button called a switch that provides a slider control, which you can add with a Switch object.
Android ToggleButton and Switch both are the subclasses of CompoundButton class.
Get GITHUB code from HERE.
Creating New Project
- In Android Studio, go to File ⇒ New Project and fill all the details required to create a new project. When it prompts to select a default activity, select Blank Activity and proceed.
-
In activity_main.xml I have add one ToggleButton with following basic properties.
activity_main.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.lenovo.togglebuttonapp.MainActivity"> <ToggleButton android:id="@+id/toggle_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:background="@android:color/holo_red_light" android:padding="30dp" android:textOff="DISABLE" android:textOn="ENABLE" android:textSize="25sp" android:textStyle="bold" /> </RelativeLayout>
XML Attributes of ToggleButton class used:
android:textOff : The text for the button when it is off.
android:textOn : The text for the button when it is on.
3.Now open MainActivity.java and write the below code.
To detect when the user activates the button , create an CompoundButton.OnCheckedChangeListener object and assign it to the button by calling setOnCheckedChangeListener().
MainActivity.java
package com.example.lenovo.togglebuttonapp; import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.CompoundButton; import android.widget.Toast; import android.widget.ToggleButton; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle_btn); toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() { public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked) { // The toggle is enabled toggle.setBackgroundColor(Color.GREEN); Toast.makeText(getApplicationContext(), "ToggleButton is ON ", Toast.LENGTH_LONG).show(); } else { // The toggle is disabled toggle.setBackgroundColor(Color.RED); Toast.makeText(getApplicationContext(), "ToggleButton is OFF ", Toast.LENGTH_LONG).show(); } } }); } }
Now when you run the app it will look like this: