14

जैसे एंड्रॉइड 2.x में ड्रॉप डाउन मेनू बनाने का सबसे अच्छा तरीका मैं ड्रॉप डाउन मेनू के साथ बटन बनाना चाहता हूं, जैसे आईसीएस पर एक्शनबार में ओवरफ़्लो मेनू बटन। मुझे समस्या है क्योंकि पॉपअपमेनू एंड्रॉइड 2.x में नहीं है। स्पिनर का उपयोग करने का दूसरा तरीका लेकिन यह मेरे लिए नहीं है, क्योंकि स्पिनर हमेशा मेरी कस्टम पृष्ठभूमि या मेरे चुने हुए आइटम पर पहला आइटम दिखाता है। मैं इसे कैसे प्राप्त कर सकता हूं? आम तौर पर, मैं ContextMenu चाहता हूं लेकिन थोड़ा और स्थिति पर क्लिक किया गया दृश्य। धन्यवाद। जब आप पर क्लिक करें डिफ़ॉल्ट & द्वारा Overflow menu in right top cornerआईसीएस

उत्तर

11

यदि आपका उद्देश्य एक्शन बार को फिर से बनाना है, तो आप ActionBarSherlock प्रोजेक्ट पर एक नज़र डाल सकते हैं, जो बैकपोर्ट कार्यक्षमता को खो देता है।

यदि आप अपने ऐप में कहीं भी ऐसे मेनू को पॉप करने में सक्षम होना चाहते हैं, तो आप ActionBarSherlock प्रोजेक्ट स्रोत कोड में MenuPopupHelper वर्ग कार्यान्वयन के कार्यान्वयन को पढ़ सकते हैं।

+0

ठीक है। मुझे लगता है कि सबसे अच्छा जवाब तुम्हारा है। लेकिन मैंने फैसला किया कि मैं केवल संदर्भ मेनू का उपयोग करूंगा क्योंकि मुझे popupMenu का उपयोग करने का आसान तरीका नहीं दिखता है। –

1

आपकी आवश्यकता के लिए एक वैकल्पिक हो सकता है, कि आप सूची दृश्य ,, यह स्थिति आपके बटन & के तहत बनाने के लिए सेट अदृश्य के लिए दृश्यता है:

यह इस तरह दिखता है बटन आप उदाहरण के लिए सूचीदृश्य की दृश्यता .... टॉगल

button.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       if (LISTVIEW.isShown()) { 
        LISTVIEW.setVisibility(View.INVISIBLE); 
       } else { 
        LISTVIEW.setVisibility(View.VISIBLE); 
       } 

मुझे पता है कि अगर यह मदद करता है सकते हैं ...

+0

ऐसा करने का एक शानदार तरीका है। क्या आप सूची दृश्य को कहां नियंत्रित कर सकते हैं? – Andy

+0

जहां भी आप चाहें इसे स्थान दे सकते हैं, लेकिन मुझे लगता है कि आपको इसके आयामों को हार्डकोड करना होगा। –

3

मैं उस तरह की चीज़ के लिए PopupWindow का उपयोग करता हूं। यह पॉपअपमेनू से अधिक काम है, जहां आप इसे एक मेनू देते हैं और OnMenuItemClickListener.onMenuItemClick() के साथ ईवेंट का जवाब देते हैं। पॉपअपविंडो के साथ, आप एक सामग्री प्रदान करते हैं और कुछ हद तक निम्न स्तर पर क्लिक को संभालते हैं।

फिर भी, यह बिना किसी परेशानी के काम पूरा हो जाता है। showAsDropDown() विधि आपको पॉपअप को दूसरे दृश्य में लंगर करने की अनुमति देती है (जैसा कि आप चाहते हैं, इसे ड्रॉप-डाउन या पॉप-अप मेनू के रूप में उचित रूप से स्थित करें)। यह एपीआई स्तर 1 के आसपास रहा है और मेरे सभी परीक्षण उपकरणों पर मेरे लिए बहुत अच्छा काम करता है।

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