Create An Android Toggle Button Programmatically In Android




Target

Hello Reader! In this post, we are going to learn about creating android toggle button programmatically in android. We will go through different steps that explains how to create and use android toggle button programmatically in any android application.

Output

Tutorialwing android dynamic toggle button output android toggle button programmatically in android

Tutorialwing android dynamic toggle button output

Getting Started

Now, we will create a new project. Then, we will create toggle button dynamically in this project.

1. Creating New Project

Follow the steps below to create a new project. Please ignore the steps if you have already created a new project.

Step Description
1. Open Android Studio.
2. Go to File => New => New Project. Write application name as DynamicToggleButton. Then, click next button.
3. Select minimum SDK you need. However, we have selected 17 as minimum SDK. Then, click next button
4. Then, select Empty Activity => click next => click finish.
5. If you have followed above process correctly, you will get a newly created project successfully. However, you can also visit post to create a new project to know steps in detail.

Now, we will modify java and xml file to use toggle button programmatically.

2. Modify Values Folder

Open res/values/strings.xml file and add below code into it.

<resources>
	<string name="app_name">DynamicToggleButton</string>
	<string name="toggleButton">ToggleButton</string>
</resources>

Other values folder are as it was by default. So, we are not going mention it here.

3. Modify Layout Folder

Open res/layout/activity_main.xml file. Then, add below code into it.

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
	android:id="@+id/rootContainer"
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="match_parent"
	android:layout_height="match_parent"
	android:gravity="center"
	android:orientation="vertical">

</LinearLayout>

In activity_main.xml file, There is a linearlayout, having id rootContainer, that will act as container for toggle button created programmatically in java file.

4. Create Android Toggle Button Programmatically / Dynamically

Open app/src/main/java/com.tutorialwing.dynamicetogglebutton/MainActivity.java file and add below code into it.

package com.tutorialwing.dynamictogglebutton;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.LinearLayout;
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);

		LinearLayout linearLayout = findViewById(R.id.rootContainer);

		// Create ToggleButton Dynamically
		ToggleButton toggleButton = new ToggleButton(this);
		toggleButton.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
		toggleButton.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
			@Override
			public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
				String msg = "Toggle Button is " + (isChecked ? "ON" : "OFF");
				Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show();
			}
		});

		// Add ToggleButton to LinearLayout
		if (linearLayout != null) {
			linearLayout.addView(toggleButton);
		}
	}
}

In this file, we have created toggle button programmatically. After that, added it to linearlayout having id rootContainer. We have also added code to show toast message when state of the toggle button is changed between ON / OFF states.

Since AndroidManifest.xml file is very important in any android application, we are also going to mention it here.

AndroidManifest.xml file

Code inside src/main/AndroidManifest.xml file would look like below –

<?xml version="1.0" encoding="utf-8"?>
<manifest package="com.tutorialwing.dynamictogglebutton"
		  xmlns:android="http://schemas.android.com/apk/res/android">

	<application
		android:allowBackup="true"
		android:icon="@mipmap/ic_launcher"
		android:label="@string/app_name"
		android:roundIcon="@mipmap/ic_launcher_round"
		android:supportsRtl="true"
		android:theme="@style/AppTheme">
		<activity android:name=".MainActivity">
			<intent-filter>
				<action android:name="android.intent.action.MAIN"/>

				<category android:name="android.intent.category.LAUNCHER"/>
			</intent-filter>
		</activity>
	</application>

</manifest>

Now, run the application. We will get the output as shown above.

That’s end of Tutorial on Creating Android Toggle Button programmatically in java project.