পরিচয়
উদাহরণের আগে জানা দরকার Android-এ ToggleButton কী। Toggle Button হলো Button view-র একটি এক্সটেন্ডেড ভিউ। এটি বাটনের স্টেটকে চেকড এবং আনচেকড হিসেবে উপস্থাপন করে। এখানে Android-এ Toggle Button সম্পর্কে সহজ সমাধান দেওয়া হয়েছে।
ধাপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে যান: File → New Project এবং প্রয়োজনীয় বিবরণ পূরণ করে একটি নতুন প্রজেক্ট তৈরি করুন।
ধাপ ২: লেয়াউট XML কনফিগার করুন
res/layout/activity_main.xml ফাইলে নিচের কোডটি যোগ করুন:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:app="https://schemas.android.com/apk/res-auto"
xmlns:tools="https://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<ToggleButton
android:id="@+id/result"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Result Data"
android:textColor="#FFF"
android:background="@color/colorPrimary"
android:textOff="Off"
android:textOn="On"
android:textSize="20sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>
উপরের কোডে একটি Toggle Button যোগ করা হয়েছে। ব্যবহারকারী Toggle Button-এ ক্লিক করলে এর স্টেট পরিবর্তন হবে।
ধাপ ৩: MainActivity.java-তে লজিক লিখুন
src/MainActivity.java ফাইলে নিচের কোডটি যোগ করুন:
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
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 toggleButton = findViewById(R.id.result);
toggleButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (toggleButton.isChecked()) {
toggleButton.setTextOn("You have Checked");
toggleButton.setChecked(true);
} else if (!toggleButton.isChecked()) {
toggleButton.setTextOff("You have not Checked");
toggleButton.setChecked(false);
}
}
});
}
}
উপরের কোডে ব্যবহারকারী Toggle Button-এ ক্লিক করলে toggleButton.isChecked() দিয়ে স্টেট চেক করা হয়। যদি চেকড স্টেটে থাকে তবে setTextOn() দিয়ে টেক্সট পরিবর্তন করা হয় এবং setChecked(true) দিয়ে স্টেট সেট করা হয়। অন্যথায় setTextOff() এবং setChecked(false) ব্যবহার করা হয়।
ধাপ ৪: Manifest.xml পরিবর্তন করার প্রয়োজন নেই
অ্যাপ্লিকেশন চালান
আপনার Android ডিভাইস কম্পিউটারের সাথে সংযুক্ত করুন। Android Studio-তে প্রজেক্টের একটি Activity ফাইল খুলুন এবং টুলবারের Run আইকনে ক্লিক করুন। আপনার মোবাইল ডিভাইস নির্বাচন করুন। ডিফল্ট স্ক্রিন প্রদর্শিত হবে:

উপরের আউটপুট আইডল স্টেটকে প্রতিফলিত করে। বাটনে ক্লিক করলে নিচের ফলাফল দেখাবে:

উপরের ফলাফলে টেক্সট "YOU HAVE CHECKED" বদলে যাবে এবং আভ্যন্তরীণভাবে স্টেট setChecked(true) হবে। আবার ক্লিক করলে নিচের আউটপুট দেখাবে:

এবার টেক্সট "YOU HAVE NOT CHECKED" বদলে যাবে এবং স্টেট setChecked(false) হবে।