Open In App

ToggleButton in Kotlin

Improve
Improve
Like Article
Like
Save
Share
Report

In Android, ToggleButton is just like a switch containing two states either ON or OFF which is represented using boolean values true and false respectively. ToggleButton unlike switch does not have a slider interface i.e we cannot slide to change the states. It is just like a button. In this article, we will be discussing how to create a ToggleButton in Kotlin.

Android ToggleButton XML Attributes

Note: ToggleButton inherits the button class of android. Therefore, all the attributes of the button are also applicable here.

Following are some of the additional important attributes available along ToggleButton

Attribute Description
android:id The id assigned to the toggle button
android:textOff The text shown on the button when it is not checked
android:textOn The text shown on the button when it is checked
android:disabledAlpha The alpha (opacity) to apply to the when disabled.

Create a new project in Android Studio

To create a new project in Android Studio follow these steps:

  1. Click on File, then New and then New Project and give name whatever you like.
  2. Choose “Empty Activity” for the project template.
  3. Then, select Kotlin language Support and click next button.
  4. Select minimum SDK, whatever you need

Modify activity_main.xml

XML




<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">
  
    <ToggleButton
        android:id="@+id/toggleButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>


Accessing the Toggle Button

The toggle button in the layout can be accessed using the findViewById() function.

val toggle: ToggleButton = findViewById(R.id.toggleButton)

After accessing set a listener to perform actions based on the toggle state using setOnCheckedChangeListener() method.

toggle.setOnCheckedChangeListener { _, isChecked -> **Perform Any Action Here**}

Modify MainActivity.kt file

Java




package com.example.togglebuttonsample
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.widget.Toast
import android.widget.ToggleButton
  
class MainActivity : AppCompatActivity() {
  
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
  
        val toggle: ToggleButton = findViewById(R.id.toggleButton)
        toggle.setOnCheckedChangeListener { _, isChecked ->
            Toast.makeText(this, if(isChecked) "Geek Mode ON" else "Geek Mode OFF", Toast.LENGTH_SHORT).show()
        }
    }
}


Run on Emulator



Last Updated : 06 Jan, 2022
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads