Android ToggleButton Example
----------------------------------------
Android Toggle Button সাধারণত কোনো button এর state এর (On/Off) অবস্থা বুঝাতে ব্যবহার হয় !!
এটা সাধারণত On/Off Sound, Wifi, Bluetooth ইত্যাদিতে ব্যবহার করা হয় !!
কিন্তু Android 4.0 থেকে আরেক ধরনের toggle button ব্যবহার হয় যার নাম switch যেটা slider control ইউজ করে ,state এর (On/Off) এর কাজ চালায় !!
Android ToggleButton and Switch দুটোই CompoundButton class এর subclasses ।
XML Attributes of ToggleButton class
android:disabledAlpha The alpha to apply to the indicator when disabled.
android:textOff বাটন যখন , টগল (অফ) হবে তখন বাটন এর টেক্সট চেইঞ্জ হয়ে কি হবে ? সেটা এটার উপর ডিপেন্ড হবে !!
android:textOn বাটন যখন , টগল (অন) হবে তখন বাটন এর টেক্সট চেইঞ্জ হয়ে কি হবে ? সেটা এটার উপর ডিপেন্ড হবে !!
এগুলো ব্যবহার করলে বিষয়টা ারো ক্লিয়ার হয়ে যাবে !
ToggleButton class এর যেসব মেথোড সবচেয়ে বেশী ইউজ হয় --------
CharSequence getTextOff() বাটন যখন , টগল (অফ) হবে তখন বাটন এর টেক্সট Return করবে !!
CharSequence getTextOn() বাটন যখন , টগল (অন) হবে তখন বাটন এর টেক্সট Return করবে !!
void setChecked(boolean checked) বাটন এর স্টেইট চেইঞ্জ করে এই মেথোড !!
যাই হোক , আমরা এখন একটা অ্যাপ্লিকেশন বানাবো দুইটা টগল বাটন আর একটা নরমাল বাটন ইউজ করে , যেটা আমাদের টোস্ট মেসেজ করে দেখাবে আমাদের কোনটা অফ আর অন আছে , তবে আমরা এই ক্ষেত্রে XML ফাইলের থেকেই android:textOff ও android:textOn এর টেক্সট এর সাহ্যযে দেখবো , স্টেইট অফ নাকি অন আছে ? আমরা আমাদের void setChecked(boolean checked) মেথোড ব্যবহার করবো না !! চলো এবার জাভা আর লেয়াউট ফাইল দেখে আসি ----------
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="example.javatpoint.com.togglebutton.MainActivity">
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="80dp"
android:text="ToggleButton"
android:textOff="Off"
android:textOn="On"
app:layout_constraintEnd_toStartOf="@+id/toggleButton2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="60dp"
android:layout_marginTop="80dp"
android:text="ToggleButton"
android:textOff="Off"
android:textOn="On"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="144dp"
android:layout_marginLeft="148dp"
android:text="Submit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
এখন জাভা ফাইল ,
package example.javatpoint.com.togglebutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends AppCompatActivity {
private ToggleButton toggleButton1, toggleButton2;
private Button buttonSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButtonClick();
}
public void addListenerOnButtonClick(){
//Getting the ToggleButton and Button instance from the layout xml file
toggleButton1=(ToggleButton)findViewById(R.id.toggleButton);
toggleButton2=(ToggleButton)findViewById(R.id.toggleButton2);
buttonSubmit=(Button)findViewById(R.id.button);
//Performing action on button click
buttonSubmit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
StringBuilder result = new StringBuilder();
result.append("ToggleButton1 : ").append(toggleButton1.getText());
result.append("\nToggleButton2 : ").append(toggleButton2.getText());
//Displaying the message in toast
Toast.makeText(getApplicationContext(), result.toString(),Toast.LENGTH_LONG).show();
}
});
}
}
আমরা স্ট্রিং সবাই চিনি , বাট স্ট্রিংবিল্ডার খুব একটা চিনি না অনেকেই , আমরা এখানে স্ট্রিংবিল্ডার ইউজ করেছি , তারপর সেটা result.toString() এর মাধ্যমে , স্ট্রিং এ কনভার্ট করে সেটা Toast হিসেবে শো করাই !! স্ট্রিং বিল্ডার নিয়ে যারা জানো না তারা গুগল করে একটু জেনে নাও !! এখন এটা রান করালেই , সব সমস্যা পরিষ্কার হয়ে যাবে !! তাহলে আমরা টগল বাটন নিয়ে জেনে গেলাম , কিভাবে চেক করাতে হয় , কোনটা ? অফ আছে আর অন আছে !!
Android CheckBox Example
-----------------------------------
যখন তোমাইয় অনেকগুলো জিনিস দিয়ে , তোমার ইচ্ছেমতো চুজ করতে বলা হয় তাদের ভেতর থেকে , তখন এইক্ষেত্রে আমরা CheckBox ব্যবহার করবো । Android CheckBox class হলো , CompoundButton class এরই এক ধরনের সাবক্লাস .
android.widget.CheckBox এর মাধ্যমে আমরা চেকবক্স ইউজ করতে পারবো ।
মাদের বেশীরভাগ যেসব মেথোড ব্যবহার করতে হয় , তা নীচে দেয়া হলো ------------------
public boolean isChecked() যদি এই চেকবক্স চেকড হয়েই থাকে , তাহলে এই মেথোড Return করবে true ।
public void setChecked(boolean status) এই মেথোড চেকবক্স এর স্টেইট চেইঞ্জ করার জন্য ব্যবহার হয় !!!
চলো , এবার আমরা তিনটি চেকবক্স আর একটা বাটন বযবহার করে একটা অ্যাপ্লিকেশন বানিয়ে ফেলি ------------
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="example.javatpoint.com.checkbox.MainActivity">
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="68dp"
android:text="Pizza"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="28dp"
android:text="Coffee"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="28dp"
android:text="Burger"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox2" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="184dp"
android:text="Order"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox3" />
</android.support.constraint.ConstraintLayout>
এবার আমদের এক্টিভিটি এর জাভা ফাইল ---------------
File: MainActivity.java
package example.javatpoint.com.checkbox;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
CheckBox pizza,coffe,burger;
Button buttonOrder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButtonClick();
}
public void addListenerOnButtonClick(){
//Getting instance of CheckBoxes and Button from the activty_main.xml file
pizza=(CheckBox)findViewById(R.id.checkBox);
coffe=(CheckBox)findViewById(R.id.checkBox2);
burger=(CheckBox)findViewById(R.id.checkBox3);
buttonOrder=(Button)findViewById(R.id.button);
//Applying the Listener on the Button click
buttonOrder.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
int totalamount=0;
StringBuilder result=new StringBuilder();
result.append("Selected Items:");
if(pizza.isChecked()){
result.append("\nPizza 100Rs");
totalamount+=100;
}
if(coffe.isChecked()){
result.append("\nCoffe 50Rs");
totalamount+=50;
}
if(burger.isChecked()){
result.append("\nBurger 120Rs");
totalamount+=120;
}
result.append("\nTotal: "+totalamount+"Rs");
//Displaying the message on the toast
Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_LONG).show();
}
});
}
}
তাহলে এখন আমরা রান করিয়ে দেখতে পারি , আমরা কিছুটা ছোটোখাট একটা রেস্টুরেন্ট এর মেনুকারড বানিয়ে ফেলেছি , এখানে আমরা মাত্র তিনটি ইলিমেন্ট বঅ্যাবহার করেছি , তুমি চাইলে আরো তোমার ইচ্ছেমতো , ইলিমেন্ট বসাতে পারো চেকবক্স হিসেবে !!!
তাহলে , আমাদের চেকবক্স আজকে এইটুকুই থাক !!
Android Custom CheckBox
--------------------------------
এবার আমরা , নিজেরাই আমাদের মতো করে চেকবক্স বানাতে পারবো , ডিফল্ট ইউজ না করে ,চলো দেখে নেই কিভাবে কি করতে হবে ?আমরা এখন কাস্টম আর ডিফল্ট দুইটা একসাহেই রাখবো , দেখা যাক কেমন হয় ??
আমাদের লেয়াউট ফাইল দেখে নেই ---
এখন আমি চেকবক্স এর জায়গায় ছবি দিতে চাই , তাহলে আমরা যে যে ছবি দেবো সেগুলো , কপি করে drawable ফোল্ডারে পেস্ট করে নিজের মতো করে নাম দিবো । এখানে , আমি ইমেজ এর নাম দেবো run , tun |
activity_main.xml
File: activity_main.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="example.javatpoint.com.customcheckbox.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="25dp"
android:text="Default Check Box"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New CheckBox"
android:id="@+id/checkBox"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New CheckBox"
android:id="@+id/checkBox2"
android:layout_below="@+id/checkBox"
android:layout_alignLeft="@+id/checkBox"
android:layout_alignStart="@+id/checkBox" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="200dp"
android:background="#B8B894"
android:id="@+id/viewStub" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox 1"
android:id="@+id/checkBox3"
android:button="@drawable/tun"
android:layout_below="@+id/viewStub"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox 2"
android:id="@+id/checkBox4"
android:button="@drawable/run"
android:layout_below="@+id/checkBox3"
android:layout_alignLeft="@+id/checkBox3"
android:layout_alignStart="@+id/checkBox3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="25dp"
android:text="Custom Check Box"
android:id="@+id/textView"
android:layout_alignTop="@+id/viewStub"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Checked"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
এখন জাভা ফাইল দেখে আসি চলো ;----
File: MainActivity.java
package example.javatpoint.com.customcheckbox;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
CheckBox cb1,cb2;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb1=(CheckBox)findViewById(R.id.checkBox3);
cb2=(CheckBox)findViewById(R.id.checkBox4);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuilder sb=new StringBuilder("");
if(cb1.isChecked()){
String s1=cb1.getText().toString();
sb.append(s1);
}
if(cb2.isChecked()){
String s2=cb2.getText().toString();
sb.append("\n"+s2);
}
if(sb!=null && !sb.toString().equals("")){
Toast.makeText(getApplicationContext(), sb, Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(getApplicationContext(),"Nothing Selected", Toast.LENGTH_LONG).show();
}
}
});
}
}
এখানে আমি দুই ধরনের চেকবক্সই রাখলাম যাতে , তোমাদের সুবিধে হয় , কি পারথক্য ? ডিফল্ট আর কাস্টম এর ভেতরে ? সেটা বুঝতে !! আশা করি কিছুক্ষন এটা নিয়ে ভাবলে আরো পরিষ্কার হয়ে যাবে , বিষয়গুলি !! এভাবে , আমরা অনেক বাটনের পরিবর্তে ইমেজ দিতে পারি , চেকবক্স হিসেব !! আজ এইটুকুই !!
----------------------------------------
Android Toggle Button সাধারণত কোনো button এর state এর (On/Off) অবস্থা বুঝাতে ব্যবহার হয় !!
এটা সাধারণত On/Off Sound, Wifi, Bluetooth ইত্যাদিতে ব্যবহার করা হয় !!
কিন্তু Android 4.0 থেকে আরেক ধরনের toggle button ব্যবহার হয় যার নাম switch যেটা slider control ইউজ করে ,state এর (On/Off) এর কাজ চালায় !!
Android ToggleButton and Switch দুটোই CompoundButton class এর subclasses ।
XML Attributes of ToggleButton class
android:disabledAlpha The alpha to apply to the indicator when disabled.
android:textOff বাটন যখন , টগল (অফ) হবে তখন বাটন এর টেক্সট চেইঞ্জ হয়ে কি হবে ? সেটা এটার উপর ডিপেন্ড হবে !!
android:textOn বাটন যখন , টগল (অন) হবে তখন বাটন এর টেক্সট চেইঞ্জ হয়ে কি হবে ? সেটা এটার উপর ডিপেন্ড হবে !!
এগুলো ব্যবহার করলে বিষয়টা ারো ক্লিয়ার হয়ে যাবে !
ToggleButton class এর যেসব মেথোড সবচেয়ে বেশী ইউজ হয় --------
CharSequence getTextOff() বাটন যখন , টগল (অফ) হবে তখন বাটন এর টেক্সট Return করবে !!
CharSequence getTextOn() বাটন যখন , টগল (অন) হবে তখন বাটন এর টেক্সট Return করবে !!
void setChecked(boolean checked) বাটন এর স্টেইট চেইঞ্জ করে এই মেথোড !!
যাই হোক , আমরা এখন একটা অ্যাপ্লিকেশন বানাবো দুইটা টগল বাটন আর একটা নরমাল বাটন ইউজ করে , যেটা আমাদের টোস্ট মেসেজ করে দেখাবে আমাদের কোনটা অফ আর অন আছে , তবে আমরা এই ক্ষেত্রে XML ফাইলের থেকেই android:textOff ও android:textOn এর টেক্সট এর সাহ্যযে দেখবো , স্টেইট অফ নাকি অন আছে ? আমরা আমাদের void setChecked(boolean checked) মেথোড ব্যবহার করবো না !! চলো এবার জাভা আর লেয়াউট ফাইল দেখে আসি ----------
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="example.javatpoint.com.togglebutton.MainActivity">
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="8dp"
android:layout_marginTop="80dp"
android:text="ToggleButton"
android:textOff="Off"
android:textOn="On"
app:layout_constraintEnd_toStartOf="@+id/toggleButton2"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginRight="60dp"
android:layout_marginTop="80dp"
android:text="ToggleButton"
android:textOff="Off"
android:textOn="On"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="144dp"
android:layout_marginLeft="148dp"
android:text="Submit"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</android.support.constraint.ConstraintLayout>
এখন জাভা ফাইল ,
package example.javatpoint.com.togglebutton;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;
import android.widget.ToggleButton;
public class MainActivity extends AppCompatActivity {
private ToggleButton toggleButton1, toggleButton2;
private Button buttonSubmit;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButtonClick();
}
public void addListenerOnButtonClick(){
//Getting the ToggleButton and Button instance from the layout xml file
toggleButton1=(ToggleButton)findViewById(R.id.toggleButton);
toggleButton2=(ToggleButton)findViewById(R.id.toggleButton2);
buttonSubmit=(Button)findViewById(R.id.button);
//Performing action on button click
buttonSubmit.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
StringBuilder result = new StringBuilder();
result.append("ToggleButton1 : ").append(toggleButton1.getText());
result.append("\nToggleButton2 : ").append(toggleButton2.getText());
//Displaying the message in toast
Toast.makeText(getApplicationContext(), result.toString(),Toast.LENGTH_LONG).show();
}
});
}
}
আমরা স্ট্রিং সবাই চিনি , বাট স্ট্রিংবিল্ডার খুব একটা চিনি না অনেকেই , আমরা এখানে স্ট্রিংবিল্ডার ইউজ করেছি , তারপর সেটা result.toString() এর মাধ্যমে , স্ট্রিং এ কনভার্ট করে সেটা Toast হিসেবে শো করাই !! স্ট্রিং বিল্ডার নিয়ে যারা জানো না তারা গুগল করে একটু জেনে নাও !! এখন এটা রান করালেই , সব সমস্যা পরিষ্কার হয়ে যাবে !! তাহলে আমরা টগল বাটন নিয়ে জেনে গেলাম , কিভাবে চেক করাতে হয় , কোনটা ? অফ আছে আর অন আছে !!
Android CheckBox Example
-----------------------------------
যখন তোমাইয় অনেকগুলো জিনিস দিয়ে , তোমার ইচ্ছেমতো চুজ করতে বলা হয় তাদের ভেতর থেকে , তখন এইক্ষেত্রে আমরা CheckBox ব্যবহার করবো । Android CheckBox class হলো , CompoundButton class এরই এক ধরনের সাবক্লাস .
android.widget.CheckBox এর মাধ্যমে আমরা চেকবক্স ইউজ করতে পারবো ।
মাদের বেশীরভাগ যেসব মেথোড ব্যবহার করতে হয় , তা নীচে দেয়া হলো ------------------
public boolean isChecked() যদি এই চেকবক্স চেকড হয়েই থাকে , তাহলে এই মেথোড Return করবে true ।
public void setChecked(boolean status) এই মেথোড চেকবক্স এর স্টেইট চেইঞ্জ করার জন্য ব্যবহার হয় !!!
চলো , এবার আমরা তিনটি চেকবক্স আর একটা বাটন বযবহার করে একটা অ্যাপ্লিকেশন বানিয়ে ফেলি ------------
activity_main.xml
File: activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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="example.javatpoint.com.checkbox.MainActivity">
<CheckBox
android:id="@+id/checkBox"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="68dp"
android:text="Pizza"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<CheckBox
android:id="@+id/checkBox2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="28dp"
android:text="Coffee"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox" />
<CheckBox
android:id="@+id/checkBox3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="28dp"
android:text="Burger"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox2" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="144dp"
android:layout_marginTop="184dp"
android:text="Order"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/checkBox3" />
</android.support.constraint.ConstraintLayout>
এবার আমদের এক্টিভিটি এর জাভা ফাইল ---------------
File: MainActivity.java
package example.javatpoint.com.checkbox;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
CheckBox pizza,coffe,burger;
Button buttonOrder;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
addListenerOnButtonClick();
}
public void addListenerOnButtonClick(){
//Getting instance of CheckBoxes and Button from the activty_main.xml file
pizza=(CheckBox)findViewById(R.id.checkBox);
coffe=(CheckBox)findViewById(R.id.checkBox2);
burger=(CheckBox)findViewById(R.id.checkBox3);
buttonOrder=(Button)findViewById(R.id.button);
//Applying the Listener on the Button click
buttonOrder.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
int totalamount=0;
StringBuilder result=new StringBuilder();
result.append("Selected Items:");
if(pizza.isChecked()){
result.append("\nPizza 100Rs");
totalamount+=100;
}
if(coffe.isChecked()){
result.append("\nCoffe 50Rs");
totalamount+=50;
}
if(burger.isChecked()){
result.append("\nBurger 120Rs");
totalamount+=120;
}
result.append("\nTotal: "+totalamount+"Rs");
//Displaying the message on the toast
Toast.makeText(getApplicationContext(), result.toString(), Toast.LENGTH_LONG).show();
}
});
}
}
তাহলে এখন আমরা রান করিয়ে দেখতে পারি , আমরা কিছুটা ছোটোখাট একটা রেস্টুরেন্ট এর মেনুকারড বানিয়ে ফেলেছি , এখানে আমরা মাত্র তিনটি ইলিমেন্ট বঅ্যাবহার করেছি , তুমি চাইলে আরো তোমার ইচ্ছেমতো , ইলিমেন্ট বসাতে পারো চেকবক্স হিসেবে !!!
তাহলে , আমাদের চেকবক্স আজকে এইটুকুই থাক !!
Android Custom CheckBox
--------------------------------
এবার আমরা , নিজেরাই আমাদের মতো করে চেকবক্স বানাতে পারবো , ডিফল্ট ইউজ না করে ,চলো দেখে নেই কিভাবে কি করতে হবে ?আমরা এখন কাস্টম আর ডিফল্ট দুইটা একসাহেই রাখবো , দেখা যাক কেমন হয় ??
আমাদের লেয়াউট ফাইল দেখে নেই ---
এখন আমি চেকবক্স এর জায়গায় ছবি দিতে চাই , তাহলে আমরা যে যে ছবি দেবো সেগুলো , কপি করে drawable ফোল্ডারে পেস্ট করে নিজের মতো করে নাম দিবো । এখানে , আমি ইমেজ এর নাম দেবো run , tun |
activity_main.xml
File: activity_main.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="example.javatpoint.com.customcheckbox.MainActivity">
<TextView
android:id="@+id/textView1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:textSize="25dp"
android:text="Default Check Box"
android:layout_alignParentTop="true"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New CheckBox"
android:id="@+id/checkBox"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:layout_marginTop="46dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New CheckBox"
android:id="@+id/checkBox2"
android:layout_below="@+id/checkBox"
android:layout_alignLeft="@+id/checkBox"
android:layout_alignStart="@+id/checkBox" />
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:layout_marginTop="200dp"
android:background="#B8B894"
android:id="@+id/viewStub" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox 1"
android:id="@+id/checkBox3"
android:button="@drawable/tun"
android:layout_below="@+id/viewStub"
android:layout_centerHorizontal="true"
android:layout_marginTop="58dp" />
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="CheckBox 2"
android:id="@+id/checkBox4"
android:button="@drawable/run"
android:layout_below="@+id/checkBox3"
android:layout_alignLeft="@+id/checkBox3"
android:layout_alignStart="@+id/checkBox3" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textSize="25dp"
android:text="Custom Check Box"
android:id="@+id/textView"
android:layout_alignTop="@+id/viewStub"
android:layout_centerHorizontal="true" />
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Show Checked"
android:id="@+id/button"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
এখন জাভা ফাইল দেখে আসি চলো ;----
File: MainActivity.java
package example.javatpoint.com.customcheckbox;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
CheckBox cb1,cb2;
Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
cb1=(CheckBox)findViewById(R.id.checkBox3);
cb2=(CheckBox)findViewById(R.id.checkBox4);
button=(Button)findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
StringBuilder sb=new StringBuilder("");
if(cb1.isChecked()){
String s1=cb1.getText().toString();
sb.append(s1);
}
if(cb2.isChecked()){
String s2=cb2.getText().toString();
sb.append("\n"+s2);
}
if(sb!=null && !sb.toString().equals("")){
Toast.makeText(getApplicationContext(), sb, Toast.LENGTH_LONG).show();
}
else{
Toast.makeText(getApplicationContext(),"Nothing Selected", Toast.LENGTH_LONG).show();
}
}
});
}
}
এখানে আমি দুই ধরনের চেকবক্সই রাখলাম যাতে , তোমাদের সুবিধে হয় , কি পারথক্য ? ডিফল্ট আর কাস্টম এর ভেতরে ? সেটা বুঝতে !! আশা করি কিছুক্ষন এটা নিয়ে ভাবলে আরো পরিষ্কার হয়ে যাবে , বিষয়গুলি !! এভাবে , আমরা অনেক বাটনের পরিবর্তে ইমেজ দিতে পারি , চেকবক্স হিসেব !! আজ এইটুকুই !!
No comments:
Post a Comment