मेन्यू संसाधन किसी ऐप्लिकेशन मेन्यू के बारे में बताता है. जैसे- विकल्प मेन्यू, संदर्भ मेन्यू या सबमेन्यू.
को MenuInflater
से बढ़ाया जा सकता है.
मेन्यू इस्तेमाल करने के बारे में जानकारी पाने के लिए, मेन्यू जोड़ें देखें.
- फ़ाइल की जगह:
res/menu/filename.xml
फ़ाइल नाम का इस्तेमाल, रिसॉर्स आईडी के तौर पर किया जाता है
- कंपाइल किए गए संसाधन डेटा टाइप:
Menu
(या सब-क्लास) संसाधन के लिए रिसॉर्स पॉइंटर
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.menu.filename
एक्सएमएल में: @[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
- एक्सएमएल नेमस्पेस. ज़रूरी है. एक्सएमएल नेमस्पेस के बारे में बताता है, जो
"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 या इससे मिलते-जुलते टूल का इस्तेमाल करके, अपने कोड को उलझाने वाले हैं, तो
इस एट्रिब्यूट में आपने जिस तरीके को शामिल किया है उसका नाम बदलना न भूलें. ऐसा करने से,
काम करता है.
एपीआई लेवल 11 में पेश किया गया.
android:showAsAction
- कीवर्ड. ऐप्लिकेशन में यह आइटम, ऐक्शन आइटम के तौर पर कब और कैसे दिखता है
बार. कोई मेन्यू आइटम, ऐक्शन आइटम के तौर पर सिर्फ़ तब दिख सकता है, जब गतिविधि में
ऐप बार पर क्लिक करें. मान्य मान:
वैल्यू | ब्यौरा |
ifRoom | इस आइटम को केवल इसमें रखें
ऐप्लिकेशन बार पर क्लिक करें. अगर सभी लोगों के लिए जगह नहीं है
"ifRoom" के तौर पर मार्क किए गए आइटम, सबसे कम संख्या वाले आइटम
orderInCategory वैल्यू, कार्रवाइयों के तौर पर दिखती हैं और
बाकी आइटम ओवरफ़्लो मेन्यू में दिखते हैं. |
withText | शीर्षक का टेक्स्ट भी शामिल करें (तय किया गया)
android:title ने). आप एक वैल्यू के साथ इस वैल्यू को भी शामिल कर सकते हैं
दूसरे का झंडे के रूप में इस्तेमाल किया जाता है. इसके लिए उन्हें पाइप | से अलग किया जाता है. |
never | इस आइटम को कभी भी ऐप बार में न रखें. इसके बजाय, आइटम को ऐप्लिकेशन बार के ओवरफ़्लो में शामिल करें
मेन्यू. |
always | इस आइटम को हमेशा ऐप्लिकेशन बार में रखें.
इसका इस्तेमाल तब तक न करें, जब तक यह ज़रूरी न हो कि आइटम हमेशा कार्रवाई में दिखता है
बार. अगर एक से ज़्यादा आइटम को हमेशा ऐक्शन आइटम के तौर पर दिखाने के लिए सेट किया जाता है, तो वे ओवरलैप हो सकते हैं
के साथ-साथ अन्य यूज़र इंटरफ़ेस (यूआई) भी मिलेगा. |
collapseActionView | कार्रवाई व्यू जुड़ा है
इस ऐक्शन आइटम के साथ (जैसा कि android:actionLayout ने बताया है या
android:actionViewClass ) है
छोटा किया जा सकता है. एपीआई लेवल 14 में पेश किया गया. |
ऐप्लिकेशन बार जोड़ें देखें
हमारा वीडियो देखें.
एपीआई लेवल 11 में पेश किया गया.
android:actionLayout
- लेआउट के बारे में जानकारी देने वाला संसाधन. ऐक्शन व्यू के तौर पर इस्तेमाल करने के लिए लेआउट.
ज़्यादा जानकारी के लिए, इस्तेमाल की कार्रवाई देखें
व्यू और ऐक्शन देने वाली कंपनियां.
एपीआई लेवल 11 में पेश किया गया.
android:actionViewClass
- क्लास का नाम.
View
के लिए पूरी तरह क्वालिफ़ाइड क्लास का नाम
ऐक्शन व्यू के तौर पर इस्तेमाल करने के लिए. उदाहरण के लिए,
कार्रवाई व्यू के तौर पर SearchView
का इस्तेमाल करने के लिए, "android.widget.SearchView"
.
ज़्यादा जानकारी के लिए, इस्तेमाल की कार्रवाई देखें
व्यू और ऐक्शन देने वाली कंपनियां.
चेतावनी: अगर आप ProGuard या इससे मिलते-जुलते टूल का इस्तेमाल करके, अपने कोड को उलझाने वाले हैं, तो
इस एट्रिब्यूट में आपने जिस क्लास को शामिल किया है उसका नाम बदलना न भूलें. ऐसा करने से,
काम करता है.
एपीआई लेवल 11 में पेश किया गया.
android:actionProviderClass
- क्लास का नाम. ऐक्शन आइटम की जगह इस्तेमाल करने के लिए,
ActionProvider
के लिए पूरी तरह क्वालिफ़ाइड क्लास का नाम. उदाहरण के लिए,
ShareActionProvider
का इस्तेमाल करने के लिए "android.widget.ShareActionProvider"
.
ज़्यादा जानकारी के लिए, इस्तेमाल की कार्रवाई देखें
व्यू और ऐक्शन देने वाली कंपनियां.
चेतावनी: अगर आप ProGuard या इससे मिलते-जुलते टूल का इस्तेमाल करके, अपने कोड को उलझाने वाले हैं, तो
इस एट्रिब्यूट में आपने जिस क्लास को शामिल किया है उसका नाम बदलना न भूलें. ऐसा करने से,
काम करता है.
एपीआई लेवल 14 में पेश किया गया.
android:alphabeticShortcut
- चार. अक्षर के साथ वाली शॉर्टकट कुंजी के लिए एक वर्ण.
android:numericShortcut
- पूरी संख्या. न्यूमेरिक शॉर्टकट बटन के लिए कोई संख्या.
android:alphabeticModifiers
- कीवर्ड. मेन्यू आइटम की वर्णमाला के लिए कार्रवाई बदलने वाली कुंजी
शॉर्टकट. डिफ़ॉल्ट वैल्यू, Control से जुड़ी होती है
बटन दबाएं. मान्य मान:
वैल्यू | ब्यौरा |
META |
Meta मेटा कुंजी से मेल खाता है. |
Ctrl |
Control मेटा कुंजी से मेल खाता है. |
ALT |
Alt मेटा कुंजी से मेल खाता है. |
शिफ़्ट |
Shift मेटा कुंजी से मेल खाता है. |
एसवाईएम |
Sym मेटा कुंजी से मेल खाता है. |
फ़ंक्शन |
Function मेटा कुंजी से मेल खाता है. |
ध्यान दें: आपके पास
एट्रिब्यूट की वैल्यू सबमिट करें. उदाहरण के लिए,
android:alphabeticModifiers="CTRL|SHIFT"
संकेत देता है
जो संबंधित मेन्यू आइटम को ट्रिगर करने के लिए, उपयोगकर्ता को
Control और Shift, दोनों मेटा बटन को एक साथ दबाएं
का विकल्प चुनें.
setAlphabeticShortcut()
तरीके का इस्तेमाल इन कामों के लिए किया जा सकता है
प्रोग्राम के हिसाब से एट्रिब्यूट की वैल्यू सेट करें. Reader Revenue Manager को सेट अप करने के बारे में
alphabeticModifier
एट्रिब्यूट के बारे में जानकारी यहां देखें
alphabeticModifiers
.
android:numericModifiers
- कीवर्ड. मेन्यू आइटम के नंबर वाले शॉर्टकट का मॉडिफ़ायर.
डिफ़ॉल्ट वैल्यू, Control कुंजी के तौर पर सेट होती है. मान्य
मान:
वैल्यू | ब्यौरा |
META |
Meta मेटा कुंजी से मेल खाता है. |
Ctrl |
Control मेटा कुंजी से मेल खाता है. |
ALT |
Alt मेटा कुंजी से मेल खाता है. |
शिफ़्ट |
Shift मेटा कुंजी से मेल खाता है. |
एसवाईएम |
Sym मेटा कुंजी से मेल खाता है. |
फ़ंक्शन |
Function मेटा कुंजी से मेल खाता है. |
ध्यान दें: आपके पास
एट्रिब्यूट की वैल्यू सबमिट करें. उदाहरण के लिए,
android:numericModifiers="CTRL|SHIFT"
संकेत देता है
जो संबंधित मेन्यू आइटम को ट्रिगर करने के लिए, उपयोगकर्ता को
Control और 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
- पूरी संख्या. कैटगरी में मौजूद आइटम का डिफ़ॉल्ट क्रम.
- उदाहरण:
- एक्सएमएल फ़ाइल
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)
कॉलबैक से मेन्यू को इनफ़्लेट करता है और ऑन-क्लिक के बारे में भी बताता है
दो आइटम के लिए कॉलबैक:
Kotlin
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.
}
Java
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.
}