এন্ড্রয়েড এপস ডেভেলপমেন্টের আজকের পর্বে আমরা দেখবো Switch , SeekBar এবং ToggleButton নিয়ে কিভাবে কাজ করতে হয় ।
Switch নিয়ে কাজ
এন্ড্রয়েডে Switch সাধারণত দুইটা স্টেট অর্থাৎ On/Off কিংবা checked/ unchecked ধরনের কাজের জন্য ব্যবহার করা হয় । তবে Switch বাটন কাজ করে Slider এর মতো । Switch ক্লাস হচ্ছে CompoundButton ক্লাসের সাবক্লাস । Switch বাটন সাধারণত Sound on/off কিংবা Wifi on/off করা ইত্যাদি কাজে ইউজ করা হয় । Switch বাটনে শুধুমাত্র Slider on/off এর মাধ্যমে স্টেট পরিবর্তন করা হয় । Switch বাটন চালু করা হয় Android 4.0 ভার্শন থেকে । XML কিংবা জাভা ক্লাসের মধ্যে Switch উইজেটের জন্য Instance তৈরি করা যায় ।
Switch এর XML কোডঃ
<Switch android:id="@+id/state" android:checked="false" android:text="Switch" android:textSize="20sp" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" />
Switch এর জাভা কোডঃ
Switch aSwitch=(Switch)findViewById(R.id.state); aSwitch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Switch is on", Toast.LENGTH_LONG).show(); } });
Switch এর Attribute গুলো দেখে নেয়া যাক
১ ) id: Switch উইজেটের জন্য ইউনিক Identifier হিসেবে কাজ করে । findViewById( ) মেথডের মাধ্যমে Switch কম্পোনেন্টকে এক্সেস করা হয় ।
২ ) checked : checked/unchecked দুই ধরনের স্টেট নির্ধারণের জন্য ইউজ করা হয় । বাই ডিফল্ট false করা থাকে ।এছাড়াও text সেট করার জন্য text , alignment এর জন্য gravity , text on/off করার জন্য textOn/textOff , background এর জন্য backgroundColor ইত্যাদি Attribute আছে ।Switch থেকে ক্লিক ইভেন্ট নেয়ার জন্য setOnClickListener ( ) ইউজ করা হয় ।
উপরের কোডগুলো একত্রেঃ
XML লেআউট
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.asifkhan.basic.MainActivity"> <Switch android:id="@+id/state" android:checked="false" android:text="Switch" android:textSize="20sp" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
জাভা কোড
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Switch; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Switch aSwitch=(Switch)findViewById(R.id.state); aSwitch.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "Switch is on", Toast.LENGTH_LONG).show(); } }); } }
উপরের কোডের আউটপুটঃ
উপরের কোডের আউটপুটে আমরা দেখতে পাচ্ছি যে, Switch বাটনে ক্লিক করায় স্টেট On হয়েছে এবং আউটপুট দেখাচ্ছে “Switch is on” ।
SeekBar নিয়ে কাজ
এন্ড্রয়েডে SeekBar সাধারণত dradraggable thumb হিসেবে ব্যবহার করা হয় । SeekBar সাধারণত Music Player এ Volume বাড়ানো কমানো কিংবা Screen এর Brightness কন্ট্রোল করা ইত্যাদি কাজে ইউজ করা হয় । SeekBar শুধুমাত্র একটি থাম্ব থাকে যার মাধ্যমে ডানে বামে ড্রাগ করে ভেলু পরিবর্তন করা হয় । XML কিংবা জাভা ক্লাসের মধ্যে SeekBar উইজেটের জন্য Instance তৈরি করা যায় । তিন ধরনের মেথডের মাধ্যমে SeekBar এর ভেলু নেয়া যায় । মেথডগুলো হচ্ছে ড্রাগিং শুরু করার সময় onStartTrackingTouch( ) , ড্রাগিং চলার সময় onProgressChanged ( ) এবং ড্রাগিং শেষ করার সময় onStopTrackingTouch( ) মেথড কল করা হয় ।
SeekBar এর XML কোডঃ
<SeekBar android:id="@+id/seek" android:progress="10" android:max="200" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="300dp" android:layout_height="wrap_content" />
SeekBar এর জাভা কোডঃ
SeekBar seekBar=(SeekBar)findViewById(R.id.seek); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { Toast.makeText(MainActivity.this, "Progress " + i, Toast.LENGTH_LONG).show(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "Progress Started", Toast.LENGTH_SHORT).show(); } @Override public void onStopTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "progress stopped", Toast.LENGTH_SHORT).show(); } });
SeekBar এর Attribute গুলো দেখে নেয়া যাক
১ ) id: SeekBar উইজেটের জন্য ইউনিক Identifier হিসেবে কাজ করে । findViewById( ) মেথডের মাধ্যমে SeekBar কম্পোনেন্টকে এক্সেস করা হয় ।
২ ) progress : ড্রাগিং এর সময় Progress value নেয়ার জন্য ইউজ করা হয় । এছাড়াও min/max ভেলু সেট করার জন্য min/max, alignment এর জন্য gravity , thumb পরিবর্তন করার জন্য thumb , background এর জন্য backgroundColor ইত্যাদি Attribute আছে ।
উপরের কোডগুলো একত্রেঃ
XML লেআউট
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.asifkhan.basic.MainActivity"> <SeekBar android:id="@+id/seek" android:progress="10" android:max="200" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="300dp" android:layout_height="wrap_content" /> </RelativeLayout>
জাভা কোড
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.SeekBar; import android.widget.Toast; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); SeekBar seekBar=(SeekBar)findViewById(R.id.seek); seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { Toast.makeText(MainActivity.this, "Progress " + i, Toast.LENGTH_LONG).show(); } @Override public void onStartTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "Progress Started", Toast.LENGTH_SHORT).show(); } @Override public void onStopTrackingTouch(SeekBar seekBar) { Toast.makeText(MainActivity.this, "progress stopped", Toast.LENGTH_SHORT).show(); } }); } }
উপরের কোডের আউটপুটঃ
উপরের কোডের আউটপুটে আমরা দেখতে পাচ্ছি যে, SeekBar এ ড্রাগিং করায় আউটপুট মেসেজ দেখাচ্ছে “Progress 92” ।
ToggleButton নিয়ে কাজ
এন্ড্রয়েডে ToggleButton অনেকটা Switch বাটনের মতোই On/Off কিংবা checked/unchecked ধরনের কাজে ব্যবহার করা হয় । ToggleButton কে Sound on/off কিংবা Wifi on/off করা ইত্যাদি কাজে ইউজ করা যেতে পারে। XML কিংবা জাভা ক্লাসের মধ্যে ToggleButton উইজেটের জন্য Instance তৈরি করা যায় ।ToggleButton থেকে ক্লিক ইভেন্ট নেয়ার জন্য setOnClickListener ( ) ইউজ করা হয় ।
ToggleButton এর XML কোডঃ
<ToggleButton android:id="@+id/toggle" android:checked="false" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" />
ToggleButton এর জাভা কোডঃ
ToggleButton toggleButton=(ToggleButton)findViewById(R.id.toggle); toggleButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "ToggleButton is on", Toast.LENGTH_LONG).show(); } });
ToggleButton এর Attribute গুলো দেখে নেয়া যাক
১ ) id: SeekBar উইজেটের জন্য ইউনিক Identifier হিসেবে কাজ করে । findViewById( ) মেথডের মাধ্যমে SeekBar কম্পোনেন্টকে এক্সেস করা হয় ।
২ ) checked : checked/unchecked দুই ধরনের স্টেট নির্ধারণের জন্য ইউজ করা হয় । বাই ডিফল্ট false করা থাকে ।এছাড়াও text সেট করার জন্য text , alignment এর জন্য gravity , text on/off করার জন্য textOn/textOff , background এর জন্য backgroundColor ইত্যাদি Attribute আছে ।
উপরের কোডগুলো একত্রেঃ
XML লেআউট
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.example.asifkhan.basic.MainActivity"> <ToggleButton android:id="@+id/toggle" android:checked="false" android:layout_centerVertical="true" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout>
জাভা কোড
import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; 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); ToggleButton toggleButton=(ToggleButton)findViewById(R.id.toggle); toggleButton.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Toast.makeText(MainActivity.this, "ToggleButton is on", Toast.LENGTH_LONG).show(); } }); } }
উপরের কোডের আউটপুটঃ
উপরের কোডের আউটপুটে আমরা দেখতে পাচ্ছি যে, ToggleButton এ ক্লিক করায় আউটপুট মেসেজ দেখাচ্ছে “ToggleButton is on” ।
আজকের পর্ব এই পর্যন্তই । ভালো থাকবেন । ভালো লাগলে শেয়ার করবেন । আমার তৈরি করা Android এপটি ডাউনলোড করতে পারেন এখান থেকে