2012-12-05 28 views
7

मैं mentuItem.setShowAsAction के लिए मानार्थ विधि रहा हूँ(), अर्थात menuItem.getShowAsAction() के लिए विधि जाओ के रूप में वहाँ एक होने का प्रतीत नहीं होता।एंड्रॉयड MenuItem showAsAction

http://developer.android.com/reference/android/view/MenuItem.html

मैं उन्हें MenuItem.SHOW_AS_ACTION_NEVER को सेट करने से पहले वर्तमान स्थिति रिकॉर्ड करने के लिए है, इसलिए जब उपकरण के ओरिएंटेशन वापस परिदृश्य में परिवर्तन मैं उनकी पुरानी स्थिति में मेनू आइटम लौट सकते हैं की जरूरत है।

मुझे ऐसा करने की ज़रूरत है क्योंकि हनीकॉम्ब आईसीएस जैसे टैब दिखाने के लिए एक नई पंक्ति प्रदान नहीं करता है। तो हनीकॉम्ब में टैब को पर्याप्त जगह नहीं दी गई है।

क्या मेन्यूमेट में एट्रिब्यूट शोएएसएक्शन के लिए एक्सएमएल में सेटिंग खोजने के लिए जावा या एंड्रॉइड में एक और सार्वभौमिक प्रॉपर्टी विधि है।

धन्यवाद

+0

आप कुछ भी मिला? मैं एक ही विधि की तलाश में हूं। – Peterdk

+0

कोई भी नहीं मिला। और यह हनीकॉम नहीं है (क्योंकि मैं उस समय हनीकॉम डिवाइस पर इसका परीक्षण कर रहा था) लेकिन वास्तव में यह कुछ बड़े स्क्रीन कॉन्फ़िगरेशन को प्रभावित करता था जैसे अतिरिक्त और पोर्ट्रेट मोड में। लेकिन हनीकॉम में यह मेनू आइटम स्थिति को याद रखने और इसे पुनर्निर्माण करने में सक्षम नहीं था। – pt123

उत्तर

1

मुझे पता चला नीचे वर्ग इस विधि isActionButton()

android.support.v7.internal.view.menu.MenuItemImpl

है

कृपया ध्यान दें कि मेनूइटम एक इंटरफ़ेस है और एक वर्ग नहीं है जिसमें से मेन्यूइटम ऑब्जेक्ट उदाहरण बनाया गया था।

यदि आप android.support.v7 संगतता पैकेज का उपयोग कर रहे हैं, तो बस menuitem ऑब्जेक्ट को मेनू ItemImpl पर डालें।

यह इस तरह से किया जाता है:

((MenuItemImpl)item).isActionButton() 
+0

इसके अलावा उल्लिखित वर्ग 'अनुरोध एक्शनबटन() ',' आवश्यकताएक्शन बटन() 'और' शोटेक्स्टएक्शनएक्शन() 'प्रदान करता है जो आपको ध्वज' SHOW_AS_ACTION_IF_ROOM',' SHOW_AS_ACTION_ALWAYS' या 'SHOW_AS_ACTION_WITH_TEXT' सेट करने में मदद करता है, और आप ' बिटमैस्क के साथ चारों ओर झुकाव नहीं है! – Taig

+0

@Taig क्या आप इस विधियों के साथ setShowAsAction() में उपयोग किए गए ध्वज के मूल्य को प्राप्त करने के बारे में कुछ समझते हैं? – f470071

0

आप इस विधि का उपयोग कर सकते हैं, क्या से अन्य जवाब में कहा गया था:

@SuppressLint("RestrictedApi") 
private int getShowAsActionFlag(MenuItem item) { 
    MenuItemImpl itemImpl = ((MenuItemImpl) item); 
    if (itemImpl.requiresActionButton()) return MenuItemImpl.SHOW_AS_ACTION_ALWAYS; 
    else if (itemImpl.requestsActionButton()) return MenuItemImpl.SHOW_AS_ACTION_IF_ROOM; 
    else if (itemImpl.showsTextAsAction()) return MenuItemImpl.SHOW_AS_ACTION_WITH_TEXT; 
    else return MenuItemImpl.SHOW_AS_ACTION_NEVER; 
} 

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^