কম্পিউটার টিউটোরিয়াল

অ্যান্ড্রয়েডে অপশন মেনুর ব্যাকগ্রাউন্ড রঙ পরিবর্তন করার পদ্ধতি

অপশন মেনুর (Options Menu) ব্যাকগ্রাউন্ড এবং টেক্সট রঙ কাস্টমাইজ করা

অ্যান্ড্রয়েড অ্যাপের টুলবারের ওভারফ্লো মেনু (три-ডট মেনু) এর ডিফল্ট রঙ পরিবর্তন করার জন্য থিম/স্টাইল রিসোর্স ব্যবহার করা হয়। এই টিউটোরিয়ালে আমরা styles.xml এবং colors.xml ফাইল সংশোধন করে মেনুর ব্যাকগ্রাউন্ড এবং টেক্সট রঙ কাস্টমাইজ করব।

প্রয়োজনীয় ধাপসমূহ

ধাপ ১: নতুন প্রজেক্ট তৈরি করুন

Android Studio-তে File → New Project থেকে একটি প্রজেক্ট তৈরি করুন।

ধাপ ২: মেইন লেআউট (activity_main.xml)

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
    android:layout_margin="16dp"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="অপশন মেনুর ব্যাকগ্রাউন্ড এবং টেক্সট রঙ পরিবর্তন"
        android:textColor="#1a7902"
        android:textSize="20sp" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_marginTop="16dp"
        android:autoLink="web"
        android:gravity="center"
        android:text="Hello World"
        android:textSize="30sp" />

</LinearLayout>

ধাপ ৩: মেনু রিসোর্স ফাইল (res/menu/menu_items.xml)

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="https://schemas.android.com/apk/res/android"
    xmlns:app="https://schemas.android.com/apk/res-auto">

    <item
        android:id="@+id/option_menu_item_1"
        android:orderInCategory="1"
        android:title="মেনু ১"
        app:showAsAction="never" />

    <item
        android:id="@+id/option_menu_item_2"
        android:orderInCategory="2"
        android:title="মেনু ২"
        app:showAsAction="never" />

    <item
        android:id="@+id/option_menu_item_3"
        android:orderInCategory="3"
        android:title="মেনু ৩"
        app:showAsAction="never" />

</menu>

ধাপ ৪: রঙ সংজ্ঞায়িত করুন (res/values/colors.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="colorPrimary">#008577</color>
    <color name="colorPrimaryDark">#00574B</color>
    <color name="colorAccent">#D81B60</color>
    <color name="skyBlue">#87CEEB</color> <!-- মেনু ব্যাকগ্রাউন্ডের জন্য -->
</resources>

ধাপ ৫: থিম কাস্টমাইজ করুন (res/values/styles.xml)

<resources>
    <style name="AppTheme" parent="Theme.MaterialComponents.Light.DarkActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        
        <!-- মেনু আইটেমের টেক্সট রঙ -->
        <item name="android:textColor">@color/colorPrimary</item>
        
        <!-- মেনু আইটেমের ব্যাকগ্রাউন্ড রঙ -->
        <item name="android:itemBackground">@color/skyBlue</item>
        
        <!-- অপশনাল: পপআপ মেনুর থিম -->
        <item name="android:popupMenuStyle">@style/CustomPopupMenu</item>
    </style>

    <style name="CustomPopupMenu" parent="Widget.AppCompat.PopupMenu.Overflow">
        <item name="android:popupBackground">@color/skyBlue</item>
    </style>
</resources>

ধাপ ৬: MainActivity.java - মেনু ইনফ্লেট এবং হ্যান্ডলিং

package com.app.sample;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.menu_items, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        int id = item.getItemId();
        if (id == R.id.option_menu_item_1) {
            return true;
        } else if (id == R.id.option_menu_item_2) {
            return true;
        } else if (id == R.id.option_menu_item_3) {
            return true;
        }
        return super.onOptionsItemSelected(item);
    }
}

ধাপ ৭: ম্যানিফেস্ট ফাইল

সাধারণ কনফিগারেশন। অ্যাপ্লিকেশনের থিম হিসেবে @style/AppTheme সেট থাকবে।

মূল পয়েন্টগুলো

  • android:itemBackground: মেনু আইটেমের ব্যাকগ্রাউন্ড রঙ সেট করে
  • android:textColor: মেনু আইটেমের টেক্সট রঙ নিয়ন্ত্রণ করে
  • android:popupMenuStyle: পুরো পপআপ মেনুর স্টাইল কাস্টমাইজ করার জন্য (ঐচ্ছিক)
  • MaterialComponents থিম ব্যবহার করলে আরও উন্নত স্টাইলিং পাওয়া যায়

ফলাফল

অ্যাপ্লিকেশন রান করে টুলবারের три-ডট মেনুতে ক্লিক করলে আকাশ নীল (skyBlue) ব্যাকগ্রাউন্ড এবং টিল রঙের (colorPrimary) টেক্সটসহ মেনু দেখাবে।

অ্যান্ড্রয়েডে অপশন মেনুর ব্যাকগ্রাউন্ড রঙ পরিবর্তন করার পদ্ধতি
  1. Tkinter-এ Treeview (Listbox) ব্যাকগ্রাউন্ড রঙ পরিবর্তন

  2. Tkinter-এর OptionMenu উইজেটের মেনু পটভূমির রঙ পরিবর্তন করা

  3. iOS-এ নোটস অ্যাপের ব্যাকগ্রাউন্ড কালার পরিবর্তন করার পদ্ধতি

  4. ইন্সটাগ্রাম স্টোরির ব্যাকগ্রাউন্ড কালার কাস্টমাইজ করুন: সহজ গাইড