2012-05-15 14 views
5

मेरे आवेदन में मैंने अपना स्वयं का एक्शनबार बनाया है, और यह बहुत अच्छी तरह से काम करता है।एंड्रॉइड कस्टम ओवरफ्लो-मेन्यू (एक्शनबार और बिना मेनबूटन के)

हालांकि मैं आईसीएस-डिवाइस पर ओवरफ्लो बटन के व्यवहार का उपयोग नहीं करना चाहता, जिसमें मेनू-बटन नहीं है।

क्या आईसीएस में एक कस्टम ओवरफ्लोबटन लागू करने का कोई तरीका है जो एक्शनबार से अलग है?

धन्यवाद!

+0

स्पष्ट करने के लिए: मैं तीन बिंदुओं वाले तल पर काली पट्टी से छुटकारा पाने के लिए चाहते हैं, और istead अपने कस्टम ActionBar में अपने खुद के संस्करण को लागू। – DagW

+0

क्या आपने http://developer.android.com/resources/samples/ActionBarCompat/index.html पर देखा है? – techiServices

उत्तर

19

userSeven7s ज्यादातर ListPopupWindow के साथ है, लेकिन एक और भी बेहतर फिट इस मामले में PopupMenu है, जो आप एक मानक menu.xml को बढ़ाने के लिए अनुमति देता है। आप ऊपरी दाएं भाग में अपना View या Button डाल सकते हैं और onClick हैंडलर में पॉपअपमेनू बना और दिखा सकते हैं।

एक उदाहरण ApiDemos> Views> पॉपअप मेनू में पाया जा सकता है। विशेष रूप से PopupMenu1.java:

public void onPopupButtonClick(View button) { 
    PopupMenu popup = new PopupMenu(this, button); 
    popup.getMenuInflater().inflate(R.menu.popup, popup.getMenu()); 

    popup.setOnMenuItemClickListener(new PopupMenu.OnMenuItemClickListener() { 
     public boolean onMenuItemClick(MenuItem item) { 
      Toast.makeText(PopupMenu1.this, "Clicked popup menu item " + item.getTitle(), 
       Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
    }); 

    popup.show(); 
} 
+0

बिल्कुल सही! क्या यह compability पैकेज के साथ उपलब्ध है? – DagW

+1

नहीं और मुझे कल्पना है कि बैकपोर्ट करना मुश्किल होगा। लेकिन मैं वास्तव में उन डिवाइसों पर मौजूदा मेनू बटन का उपयोग करने की अनुशंसा करता हूं जिसमें यह है (सभी एंड्रॉइड 2.x) और मेनू बटन के बिना डिवाइस पर पॉपअप मेनू का उपयोग करके, आप इसे http://developer.android के साथ ढूंढ सकते हैं। कॉम/संदर्भ/एंड्रॉइड/व्यू/व्यू कॉन्फ़िगरेशन.html # है स्थायीमेनूकी()। –

+0

लेकिन पॉपअप मेनू का उपयोग करके आप आइकन जोड़ नहीं सकते हैं –

0

क्या आपने एक्शनबार शेरलॉक देखा है? एबीएस एंड्रॉइड 2.1 और उसके बाद वाले सभी उपकरणों के लिए एक्शन बार समर्थन प्रदान करता है। ActionBarCompat नमूना बहुत सीमित है और पुराने उपकरणों पर ओवरफ़्लो मेनू का समर्थन नहीं करता है। अतिप्रवाह सक्षम करने के लिए Theme.Sherlock.ForceOverflow विषय का उपयोग करना सुनिश्चित करें।

http://actionbarsherlock.com/

तुम भी आप क्या चाहते करने के लिए QuickAction पुस्तकालय को संशोधित कर सकता है।

https://github.com/lorensiuswlt/NewQuickAction

0

आप स्लाइड सकता/अपनी कार्रवाई बार स्क्रॉल और अधिक विकल्प के लिए उपयोग करते हैं। एक HorizontalScrollView.

तुम भी PopupWindow वर्ग here पर एक नज़र लेने के लिए चाहते हो सकता है, और ListPopupWindow प्रलेखन here में अपनी कार्रवाई पट्टी रखें।

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