মেনু সম্পদ

একটি মেনু সংস্থান একটি অ্যাপ্লিকেশন মেনুকে সংজ্ঞায়িত করে—একটি বিকল্প মেনু, প্রসঙ্গ মেনু, বা সাবমেনু—যা MenuInflater দিয়ে স্ফীত করা যেতে পারে।

মেনু ব্যবহার করার গাইডের জন্য, মেনু যোগ করুন দেখুন।

ফাইল অবস্থান:
res/menu/ filename .xml
ফাইলের নাম রিসোর্স আইডি হিসাবে ব্যবহৃত হয়
সংকলিত সম্পদ ডেটা টাইপ:
একটি Menu (বা সাবক্লাস) সম্পদে রিসোর্স পয়েন্টার
সম্পদ রেফারেন্স:
জাভাতে: R.menu. filename
XML এ: @[ package :]menu. filename
বাক্য গঠন:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@[+][package:]id/resource_name"
          android:title="string"
          android:titleCondensed="string"
          android:icon="@[package:]drawable/drawable_resource_name"
          android:onClick="method name"
          android:showAsAction=["ifRoom" | "never" | "withText" | "always" | "collapseActionView"]
          android:actionLayout="@[package:]layout/layout_resource_name"
          android:actionViewClass="class name"
          android:actionProviderClass="class name"
          android:alphabeticShortcut="string"
          android:alphabeticModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:numericShortcut="string"
          android:numericModifiers=["META" | "CTRL" | "ALT" | "SHIFT" | "SYM" | "FUNCTION"]
          android:checkable=["true" | "false"]
          android:visible=["true" | "false"]
          android:enabled=["true" | "false"]
          android:menuCategory=["container" | "system" | "secondary" | "alternative"]
          android:orderInCategory="integer" />
    <group android:id="@[+][package:]id/resource name"
           android:checkableBehavior=["none" | "all" | "single"]
           android:visible=["true" | "false"]
           android:enabled=["true" | "false"]
           android:menuCategory=["container" | "system" | "secondary" | "alternative"]
           android:orderInCategory="integer" >
        <item />
    </group>
    <item >
        <menu>
          <item />
        </menu>
    </item>
</menu>
উপাদান:
প্রয়োজন। এটি অবশ্যই রুট নোড হতে হবে। <item> এবং/অথবা <group> উপাদান রয়েছে।

গুণাবলী:

xmlns:android
XML নামস্থানপ্রয়োজন। XML নামস্থান সংজ্ঞায়িত করে, যা অবশ্যই "http://schemas.android.com/apk/res/android" হতে হবে।
<item>
একটি মেনু আইটেম। একটি <menu> উপাদান থাকতে পারে (একটি সাবমেনুর জন্য)। একটি <menu> বা <group> উপাদানের সন্তান হতে হবে।

গুণাবলী:

android:id
রিসোর্স আইডি । একটি অনন্য সম্পদ আইডি। এই আইটেমের জন্য একটি নতুন রিসোর্স আইডি তৈরি করতে, ফর্মটি ব্যবহার করুন: "@+id/ name " । প্লাস চিহ্নটি নির্দেশ করে যে এটি একটি নতুন আইডি হিসাবে তৈরি করা হয়েছে।
android:title
স্ট্রিং রিসোর্স । একটি স্ট্রিং সংস্থান বা কাঁচা স্ট্রিং হিসাবে মেনু শিরোনাম।
android:titleCondensed
স্ট্রিং রিসোর্স । একটি স্ট্রিং সংস্থান বা একটি কাঁচা স্ট্রিং হিসাবে একটি ঘনীভূত শিরোনাম৷ এই শিরোনামটি এমন পরিস্থিতিতে ব্যবহৃত হয় যেখানে স্বাভাবিক শিরোনামটি খুব দীর্ঘ।
android:icon
অঙ্কনযোগ্য সম্পদ । মেনু আইটেম আইকন হিসাবে ব্যবহার করা একটি ছবি।
android:onClick
পদ্ধতির নাম । এই মেনু আইটেমটি ক্লিক করা হলে কল করার পদ্ধতি। পদ্ধতিটি অবশ্যই কার্যকলাপে সর্বজনীন হিসাবে ঘোষণা করতে হবে। এটি একটি MenuItem তার একমাত্র প্যারামিটার হিসাবে গ্রহণ করে, যা ক্লিক করা আইটেমটিকে নির্দেশ করে। এই পদ্ধতিটি onOptionsItemSelected() এ স্ট্যান্ডার্ড কলব্যাকের চেয়ে অগ্রাধিকার নেয়। এই পৃষ্ঠার শেষে উদাহরণ দেখুন.

সতর্কতা: আপনি যদি ProGuard বা অনুরূপ কোনো টুল ব্যবহার করে আপনার কোডকে অস্পষ্ট করে থাকেন, তাহলে এই বৈশিষ্ট্যে আপনি যে পদ্ধতিটি উল্লেখ করেছেন সেটি পুনঃনামকরণ থেকে বাদ দিতে ভুলবেন না, কারণ এটি কার্যকারিতা নষ্ট করতে পারে।

API স্তর 11-এ প্রবর্তিত হয়েছে।

android:showAsAction
কীওয়ার্ড । কখন এবং কিভাবে এই আইটেমটি অ্যাপ বারে একটি অ্যাকশন আইটেম হিসাবে প্রদর্শিত হবে৷ একটি মেনু আইটেম একটি অ্যাকশন আইটেম হিসাবে উপস্থিত হতে পারে যখন কার্যকলাপে একটি অ্যাপ বার অন্তর্ভুক্ত থাকে৷ বৈধ মান:
মান বর্ণনা
ifRoom অ্যাপ বারে এই আইটেমটি রাখুন যদি এটির জন্য জায়গা থাকে। যদি "ifRoom" চিহ্নিত করা সমস্ত আইটেমগুলির জন্য জায়গা না থাকে, তাহলে সর্বনিম্ন orderInCategory মান সহ আইটেমগুলি ক্রিয়া হিসাবে প্রদর্শিত হবে এবং অবশিষ্ট আইটেমগুলি ওভারফ্লো মেনুতে প্রদর্শিত হবে৷
withText অ্যাকশন আইটেমের সাথে শিরোনাম পাঠ্য ( android:title দ্বারা সংজ্ঞায়িত) অন্তর্ভুক্ত করুন। আপনি এই মানটিকে একটি পাইপ দিয়ে আলাদা করে পতাকা সেট হিসাবে অন্যদের একটির সাথে অন্তর্ভুক্ত করতে পারেন | .
never এই আইটেমটি কখনই অ্যাপ বারে রাখবেন না। পরিবর্তে, অ্যাপ বারের ওভারফ্লো মেনুতে আইটেমটি তালিকাভুক্ত করুন।
always এই আইটেমটিকে সর্বদা অ্যাপ বারে রাখুন। আইটেমটি সর্বদা অ্যাকশন বারে উপস্থিত হওয়া গুরুত্বপূর্ণ না হলে এটি ব্যবহার করা এড়িয়ে চলুন। একাধিক আইটেমকে সর্বদা অ্যাকশন আইটেম হিসাবে প্রদর্শিত হওয়ার জন্য সেট করার ফলে সেগুলি অ্যাপ বারে অন্যান্য UI এর সাথে ওভারল্যাপ হতে পারে।
collapseActionView এই অ্যাকশন আইটেমের সাথে যুক্ত অ্যাকশন ভিউ ( android:actionLayout বা android:actionViewClass দ্বারা ঘোষিত) সংকোচনযোগ্য।
API স্তর 14-এ প্রবর্তন করা হয়েছে।

আরও তথ্যের জন্য অ্যাপ বার যোগ করুন দেখুন।

API স্তর 11-এ প্রবর্তিত হয়েছে।

android:actionLayout
লেআউট সম্পদ । অ্যাকশন ভিউ হিসেবে ব্যবহার করার জন্য একটি লেআউট।

আরও তথ্যের জন্য, অ্যাকশন ভিউ এবং অ্যাকশন প্রোভাইডার ব্যবহার করুন দেখুন।

API স্তর 11-এ প্রবর্তিত হয়েছে।

android:actionViewClass
শ্রেণির নাম । অ্যাকশন ভিউ হিসাবে ব্যবহার করার জন্য View জন্য একটি সম্পূর্ণ-যোগ্য শ্রেণীর নাম। উদাহরণস্বরূপ, একটি অ্যাকশন ভিউ হিসাবে SearchView ব্যবহার করতে "android.widget.SearchView"

আরও তথ্যের জন্য, অ্যাকশন ভিউ এবং অ্যাকশন প্রোভাইডার ব্যবহার করুন দেখুন।

সতর্কতা: আপনি যদি ProGuard বা অনুরূপ কোনো টুল ব্যবহার করে আপনার কোডটি অস্পষ্ট করে থাকেন, তাহলে এই বৈশিষ্ট্যে আপনি যে ক্লাসটি উল্লেখ করেছেন সেটি পুনঃনামকরণ থেকে বাদ দিতে ভুলবেন না, কারণ এটি কার্যকারিতা নষ্ট করতে পারে।

API স্তর 11-এ প্রবর্তিত হয়েছে।

android:actionProviderClass
শ্রেণির নাম । অ্যাকশন আইটেমের জায়গায় ব্যবহার করার জন্য ActionProvider এর জন্য একটি সম্পূর্ণ যোগ্য শ্রেণীর নাম। উদাহরণস্বরূপ, ShareActionProvider ব্যবহার করতে "android.widget.ShareActionProvider"

আরও তথ্যের জন্য, অ্যাকশন ভিউ এবং অ্যাকশন প্রোভাইডার ব্যবহার করুন দেখুন।

সতর্কতা: আপনি যদি ProGuard বা অনুরূপ কোনো টুল ব্যবহার করে আপনার কোডটি অস্পষ্ট করে থাকেন, তাহলে এই বৈশিষ্ট্যে আপনি যে ক্লাসটি উল্লেখ করেছেন সেটি পুনঃনামকরণ থেকে বাদ দিতে ভুলবেন না, কারণ এটি কার্যকারিতা নষ্ট করতে পারে।

API স্তর 14-এ প্রবর্তন করা হয়েছে।

android:alphabeticShortcut
চর বর্ণানুক্রমিক শর্টকাট কী-এর জন্য একটি অক্ষর।
android:numericShortcut
পূর্ণসংখ্যা । সংখ্যাসূচক শর্টকাট কী-এর জন্য একটি সংখ্যা।
android:alphabeticModifiers
কীওয়ার্ড । মেনু আইটেমের বর্ণানুক্রমিক শর্টকাটের জন্য একটি সংশোধক। ডিফল্ট মান নিয়ন্ত্রণ কী এর সাথে মিলে যায়। বৈধ মান:
মান বর্ণনা
META মেটা মেটা কী এর সাথে মিলে যায়।
CTRL কন্ট্রোল মেটা কী এর সাথে মিলে যায়।
ALT Alt মেটা কী এর সাথে মিলে যায়।
SHIFT শিফট মেটা কী এর সাথে মিলে যায়।
SYM সিম মেটা কী এর সাথে মিলে যায়।
ফাংশন ফাংশন মেটা কী এর সাথে মিলে যায়।

দ্রষ্টব্য : আপনি একটি বৈশিষ্ট্যে একাধিক কীওয়ার্ড নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ, android:alphabeticModifiers="CTRL|SHIFT" নির্দেশ করে যে সংশ্লিষ্ট মেনু আইটেমটি ট্রিগার করার জন্য, ব্যবহারকারীকে শর্টকাট সহ কন্ট্রোল এবং শিফট মেটা কী উভয়ই টিপতে হবে।

আপনি প্রোগ্রামগতভাবে বৈশিষ্ট্যের মান সেট করতে setAlphabeticShortcut() পদ্ধতি ব্যবহার করতে পারেন। alphabeticModifier অ্যাট্রিবিউট সম্পর্কে আরও তথ্যের জন্য, alphabeticModifiers দেখুন।

android:numericModifiers
কীওয়ার্ড । মেনু আইটেমের সংখ্যাসূচক শর্টকাটের জন্য একটি সংশোধক। ডিফল্ট মান নিয়ন্ত্রণ কী এর সাথে মিলে যায়। বৈধ মান:
মান বর্ণনা
মেটা মেটা মেটা কী এর সাথে মিলে যায়।
CTRL কন্ট্রোল মেটা কী এর সাথে মিলে যায়।
ALT Alt মেটা কী এর সাথে মিলে যায়।
SHIFT শিফট মেটা কী এর সাথে মিলে যায়।
SYM সিম মেটা কী এর সাথে মিলে যায়।
ফাংশন ফাংশন মেটা কী এর সাথে মিলে যায়।

দ্রষ্টব্য : আপনি একটি বৈশিষ্ট্যে একাধিক কীওয়ার্ড নির্দিষ্ট করতে পারেন। উদাহরণস্বরূপ, android:numericModifiers="CTRL|SHIFT" নির্দেশ করে যে সংশ্লিষ্ট মেনু আইটেমটি ট্রিগার করার জন্য, ব্যবহারকারীকে শর্টকাট সহ কন্ট্রোল এবং শিফট মেটা কী দুটি টিপতে হবে।

আপনি প্রোগ্রামগতভাবে বৈশিষ্ট্য মান সেট করতে setNumericShortcut() পদ্ধতি ব্যবহার করতে পারেন। numericModifier অ্যাট্রিবিউট সম্পর্কে আরও তথ্যের জন্য, numericModifiers দেখুন।

android:checkable
বুলিয়ান আইটেমটি পরীক্ষাযোগ্য হলে সত্য।
android:checked
বুলিয়ান আইটেমটি ডিফল্টরূপে চেক করা থাকলে সত্য।
android:visible
বুলিয়ান আইটেমটি ডিফল্টরূপে দৃশ্যমান হলে সত্য।
android:enabled
বুলিয়ান আইটেমটি ডিফল্টরূপে সক্রিয় থাকলে সত্য।
android:menuCategory
কীওয়ার্ডMenu CATEGORY_* ধ্রুবকগুলির সাথে সম্পর্কিত মান, যা আইটেমের অগ্রাধিকারকে সংজ্ঞায়িত করে৷ বৈধ মান:
মান বর্ণনা
container একটি ধারক অংশ যে আইটেম জন্য.
system সিস্টেম দ্বারা প্রদান করা হয় যে আইটেম জন্য.
secondary আইটেমগুলির জন্য যা ব্যবহারকারী দ্বারা সরবরাহ করা সেকেন্ডারি (কদাচিৎ ব্যবহৃত) বিকল্প।
alternative আইটেমগুলির জন্য যা বর্তমানে প্রদর্শিত ডেটাতে বিকল্প ক্রিয়া।
android:orderInCategory
পূর্ণসংখ্যা । একটি গোষ্ঠীর মধ্যে আইটেমের গুরুত্বের ক্রম।
<group>
একটি মেনু গ্রুপ, আইটেমগুলির একটি সংগ্রহ তৈরি করতে যা বৈশিষ্ট্যগুলি ভাগ করে, যেমন সেগুলি দৃশ্যমান, সক্ষম বা নির্বাচনযোগ্য কিনা৷ এক বা একাধিক <item> উপাদান রয়েছে। একটি <menu> উপাদানের সন্তান হতে হবে।

গুণাবলী:

android:id
রিসোর্স আইডি । একটি অনন্য সম্পদ আইডি। এই আইটেমের জন্য একটি নতুন রিসোর্স আইডি তৈরি করতে, ফর্মটি ব্যবহার করুন: "@+id/ name " । প্লাস চিহ্নটি নির্দেশ করে যে এটি একটি নতুন আইডি হিসাবে তৈরি করা হয়েছে।
android:checkableBehavior
কীওয়ার্ড । গ্রুপের জন্য নির্বাচনযোগ্য আচরণের ধরন। বৈধ মান:
মান বর্ণনা
none নির্বাচনযোগ্য নয়।
all সমস্ত আইটেম নির্বাচন করা যেতে পারে (চেকবক্স ব্যবহার করুন)।
single শুধুমাত্র একটি আইটেম নির্বাচন করা যেতে পারে (রেডিও বোতাম ব্যবহার করুন)।
android:visible
বুলিয়ান গ্রুপটি দৃশ্যমান হলে সত্য।
android:enabled
বুলিয়ান গ্রুপ সক্রিয় থাকলে সত্য।
android:menuCategory
কীওয়ার্ডMenu CATEGORY_* ধ্রুবকগুলির সাথে সম্পর্কিত মান, যা গোষ্ঠীর অগ্রাধিকারকে সংজ্ঞায়িত করে৷ বৈধ মান:
মান বর্ণনা
container একটি ধারক অংশ যে গ্রুপ জন্য.
system সিস্টেম দ্বারা উপলব্ধ করা হয় যে গ্রুপ জন্য.
secondary গোষ্ঠীগুলির জন্য যেগুলি ব্যবহারকারী দ্বারা সরবরাহ করা সেকেন্ডারি (কদাচিৎ ব্যবহৃত) বিকল্প।
alternative গোষ্ঠীগুলির জন্য যেগুলি বর্তমানে প্রদর্শিত ডেটাতে বিকল্প কর্ম।
android:orderInCategory
পূর্ণসংখ্যা । বিভাগের মধ্যে আইটেমগুলির ডিফল্ট ক্রম।
উদাহরণ:
XML ফাইল res/menu/example_menu.xml এ সংরক্ষিত হয়েছে :
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/item1"
          android:title="@string/item1"
          android:icon="@drawable/group_item1_icon"
          app:showAsAction="ifRoom|withText"/>
    <group android:id="@+id/group">
        <item android:id="@+id/group_item1"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item1"
              android:icon="@drawable/group_item1_icon" />
        <item android:id="@+id/group_item2"
              android:onClick="onGroupItemClick"
              android:title="@string/group_item2"
              android:icon="@drawable/group_item2_icon" />
    </group>
    <item android:id="@+id/submenu"
          android:title="@string/submenu_title"
          app:showAsAction="ifRoom|withText" >
        <menu>
            <item android:id="@+id/submenu_item1"
                  android:title="@string/submenu_item1" />
        </menu>
    </item>
</menu>

নিম্নলিখিত অ্যাপ্লিকেশন কোডটি onCreateOptionsMenu(Menu) কলব্যাক থেকে মেনুকে ফুলিয়ে দেয় এবং দুটি আইটেমের জন্য অন-ক্লিক কলব্যাক ঘোষণা করে:

কোটলিন

override fun onCreateOptionsMenu(menu: Menu): Boolean {
    menuInflater.inflate(R.menu.example_menu, menu)
    return true
}

fun onGroupItemClick(item: MenuItem) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}

জাভা

public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.example_menu, menu);
    return true;
}

public void onGroupItemClick(MenuItem item) {
    // One of the group items (using the onClick attribute) was clicked.
    // The item parameter passed here indicates which item it is.
    // All other menu item clicks are handled by Activity.onOptionsItemSelected.
}