Popup Menu কী?
Popup Menu হলো একটি মেনু যা ভিউর উপর বা নিচে আভাস হয়, এক্টিভিটিতে খালি স্পেস অনুযায়ী। নিচে Android Popup Menu তৈরির সহজ পদ্ধতি দেওয়া হয়েছে।
পদক্ষেপ ১: নতুন প্রজেক্ট তৈরি করুন
Android Studio-তে File → New Project এ যান এবং প্রয়োজনীয় বিবরণ পূরণ করুন।
পদক্ষেপ ২: res/layout/activity_main.xml-এ কোড যোগ করুন
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:id="@+id/rootview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="#c1c1c1"
android:gravity="center_horizontal"
tools:context=".MainActivity">
<Button
android:id="@+id/popup"
android:text="Download"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
এখানে একটি বাটন দেওয়া হয়েছে। বাটনে ক্লিক করলে Popup Menu দেখাবে।
পদক্ষেপ ৩: src/MainActivity.java-এ কোড যোগ করুন
package com.example.andy.myapplication;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.PopupMenu;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
Button popupButton;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
popupButton = findViewById(R.id.popup);
popupButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
popupMenuExample();
}
});
}
private void popupMenuExample() {
PopupMenu p = new PopupMenu(MainActivity.this, popupButton);
p.getMenuInflater().inflate(R.menu.popup_menu_example, p.getMenu());
p.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
Toast.makeText(MainActivity.this, item.getTitle(), Toast.LENGTH_SHORT).show();
return true;
}
});
p.show();
}
}
মেনু XML তৈরি করুন (res/menu/popup_menu_example.xml)
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="https://schemas.android.com/apk/res/android">
<item
android:id="@+id/android"
android:title="Android" />
<item
android:id="@+id/java"
android:title="JAVA" />
<item
android:id="@+id/kotlin"
android:title="Kotlin" />
</menu>
কোড ব্যাখ্যা
PopupMenu p = new PopupMenu(MainActivity.this, popupButton);— PopupMenu অবজেক্ট তৈরি করে, এনকার বাটন হিসেবেpopupButtonব্যবহার করা হয়েছে।p.getMenuInflater().inflate(R.menu.popup_menu_example, p.getMenu());— মেনু XML ইনফ্লেট করে।p.setOnMenuItemClickListener(...)— মেনু আইটেমে ক্লিক হলে কী হবে তা ডিফাইন করে। এখানে Toast দেখানো হয়েছে।p.show();— Popup Menu স্ক্রিনে দেখানোর জন্য কল করতে হয়।
ফলাফল
অ্যাপ চালু করলে ডিফল্ট স্ক্রিন দেখাবে। "Download" বাটনে ক্লিক করলে Popup Menu দেখাবে। স্পেস ন रहने প 보고 মেনু বাটনের নিচে দেখাবে। মেনু আইটেমে ক্লিক করলে Toast মেসেজ দেখাবে।

মূল পয়েন্টসমূহ
- Popup Menu কোনো ভিউর সাথে আঙ্কুর (anchor) করা হয়।
- মেনু আইটেমের জন্য আলাদা XML ফাইল (res/menu/) ব্যবহার করা ভালো প্র্যাকটিস।
OnMenuItemClickListenerদিয়ে ক্লিক ইভেন্ট হ্যান্ডল করুন।