2013-03-07 15 views
10

मैं चाहता था कि मेरे ऐप में स्लाइडिंग मेनू जैसी फेस बुक हो। मैंने इस मुद्दे के बारे में google'd और वहां कई पोस्ट पाई, जिसने मुझे केवल एक स्लाइडिंग मेनू बनाने में मदद की। लेकिन मुझे क्या चाहिए, 2 स्तरीय स्लाइडिंग मेनू यानी, जब मैं स्लाइडिंग मेनू में कुछ विकल्प पर क्लिक करता हूं, तो इसे नीचे दिखाए गए ज़ोमैटो ऐप की तरह इसके ऊपर एक और स्लाइडिंग मेनू खोलना चाहिए (पहले स्लाइडिंग मेनू को इस बिंदु पर धुंधला होना चाहिए)। मैंने जेएफइंस्टीन स्लाइडिंग मेनू लाइब्रेरी के साथ प्रयास किया, लेकिन मैं इसका उपयोग कर 2 स्तरीय स्लाइडिंग मेनू बना सकता था। क्या यह हासिल करने के लिए कोई अन्य पुस्तकालय हैं या क्या मुझे अपना खुद का निर्माण करना चाहिए?एंड्रॉइड - सब मेनू के साथ स्लाइडिंग मेनू

नीचे दिखाया गया Zomato app से मेनू फिसलने है:

enter image description here

जब मैं ऊपर दिखाए गए मेनू पर "स्थान" विकल्प पर क्लिक करें, यह एक माध्यमिक मेनू के रूप में नीचे दिखाया गया है खुल जाएगा। मैं वही सुविधा चाहता था।

enter image description here

+3

कल्पना करें कि दूसरा स्लाइडिंग मेनू नया मेनू है, इसलिए दूसरे स्लाइडिंग मेनू को दूसरे स्लाइड पर असाइन करें जैसा आपने दो स्लाइड मेनू बनाने के लिए किया था, कठिनाइयों क्या है? – Daler

+0

@ डेलर I dint इस बीसीएक्स को आजमाएं, मैं चाहता था कि द्वितीय स्तर का मेनू द्वितीयक मेनू हो, न कि नया, मेरा मतलब है कि जब मैं पहले मेनू विकल्प पर क्लिक करता हूं, तो यह धुंधला हो जाना चाहिए और दूसरे मेनू के पीछे जाना चाहिए। –

+0

@ डेलर क्या आप अपनी पहली टिप्पणी को एक और स्पष्ट तरीके से संक्षिप्त कर सकते हैं? –

उत्तर

6

चेक बाहर Sliding Panel component एक विजेट को प्रभावी ढंग से एक स्क्रीन प्रदर्शन में एक से अधिक गहराई डेटा दिखाने के लिए बातचीत फिसलने के साथ कई मढ़ा विचारों सक्षम करने से।

यह संदर्भित कार्यान्वयन के demo प्रदान करता है, आप इसे भी देख सकते हैं।

धन्यवाद।

+0

मैंने यह जांचने के लिए डेमो डाउनलोड किया कि यह कैसे काम करता है। मैंने आयात किया और इसे चलाने का प्रयास किया, लेकिन यह यहां दिखाए गए लॉगबैक संदेश को छोड़कर क्रैस करता है http://pastebin.com/6iKBJ98i –

+0

@ सुरेशेकेमलमुडी हाय, क्या आप इस आवश्यकता के समाधान को ढूंढने में सक्षम थे।मेरे पास 2 स्तर स्लाइडिंग मेनू प्राप्त करने की सटीक आवश्यकता है, अब तक कोई भाग्य नहीं है। क्या आप मदद कर सकते हैं? धन्यवाद। – jasdmystery

+0

बहुत छोटी और सुस्त घटक – agamov

3

आप जेफिनस्टीन स्लाइडिंग मेनू का उपयोग करके वांछित मेनू स्तरों को आसानी से जोड़ सकते हैं। विचार मुख्य स्लाइडिंग मेनू के बाएं या दाएं स्लाइडिंग दृश्य के रूप में स्लाइडिंग मेनू का उपयोग करना है और इसी तरह। टिप्पणियों और आउटपुट के साथ 2 स्तर मेनू का पूरा कोड चीजों को और स्पष्ट करने के लिए जोड़ा जाता है। आप पुस्तकालय के रूप में JFeinstein फिसलने मेनू आयात और SlidingFragmentActivity से आपकी गतिविधि बढ़ाने की जरूरत:

enter image description here

नोट:

public class MainActivity extends SlidingFragmentActivity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 

     // dummy views - content view 
     TextView content = new TextView(this); 
     content.setBackgroundColor(Color.WHITE); 
     content.setText("content"); 
     // Menu view 
     TextView menu = new TextView(this); 
     menu.setBackgroundColor(Color.GREEN); 
     menu.setText("menu"); 
     // 2nd level menu view 
     TextView subMenu = new TextView(this); 
     subMenu.setBackgroundColor(Color.LTGRAY); 
     subMenu.setText("submenu"); 


     //configure sliding menu 
     SlidingMenu sm = getSlidingMenu(); 
     sm.setMode(SlidingMenu.SLIDING_WINDOW); 
     sm.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
     sm.setBehindOffset(80); 
     sm.setBehindScrollScale(0.25f); 
     sm.setFadeDegree(0.25f); 

     //Another sliding menu - for 2nd level or sub menu 
     SlidingMenu leftSlidingView = new SlidingMenu(this); 
     leftSlidingView.setMode(SlidingMenu.SLIDING_WINDOW); 
     leftSlidingView.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
     leftSlidingView.setBehindOffset(80); 
     leftSlidingView.setBehindScrollScale(0.25f); 
     leftSlidingView.setFadeDegree(0.25f); 

    //==== Required instruments has been created ;) lets put them at right places 

     // setting menu and sub-menu view 
     leftSlidingView.setContent(menu); // at center of left sliding view 
     leftSlidingView.setMenu(subMenu); // at left of left sliding view 

     //set content view 
     setContentView(content);   // at center of main sliding view 
     // finally, set leftSlidingView as behind content view of main view 
     setBehindContentView(leftSlidingView); // at left of main sliding view 

    } 
} 

यहाँ उत्पादन होता है।

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