Fri. Nov 16th, 2018

এন্ড্রয়েড এপস ডেভেলপমেন্ট পর্ব ০৩ঃ Switch , SeekBar এবং ToggleButton নিয়ে কাজ

এন্ড্রয়েড এপস ডেভেলপমেন্টের আজকের পর্বে আমরা দেখবো 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 এপটি ডাউনলোড  করতে পারেন এখান থেকে

Comments

comments

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: