2012-11-24 10 views
14

मैं एक समस्या है (गंभीरता से, मैं इसे कैसे करना है पता नहीं है: डी) पर SlidingMenu का कार्यान्वयन SlidingMenu पुस्तकालय (जेरेमी Feinstein से के कार्यान्वयन के साथ ... कड़ी है डॉम) एंड्रॉइड के लिए। क्या कोई ऐसा है जो कार्यान्वयन प्रक्रिया में मेरी मदद कर सकता है? मैं एंड्रॉयड प्रोग्रामर शुरुआत कर रहा हूँ, तो कभी कभी मैं मदद की जरूरत है :)सलाह: एंड्रॉयड (जे Feinstein)

लाइब्रेरी - https://github.com/jfeinstein10/SlidingMenu

उत्तर

24

मैंने फ़िनस्टीन लाइब्रेरी का उपयोग किया और मैंने लचीला और पुन: प्रयोज्य कार्यान्वयन के साथ उदाहरण ऐप बनाने का निर्णय लिया जितना मैं सोच सकता था।

कृपया the source code at GitHub देखें।

Download app सीधे डिवाइस पर प्रयास करने के लिए।

यहां सामग्री के रूप में स्लाइडिंग मेनू, सूची खंड का उपयोग करता है। मैंने दो दृष्टिकोण किए। एक, जब सूची डेटा एक्सएमएल फ़ाइल से लोड डेटा से भरा होता है। दूसरा, जब डेटा अलग वर्ग से भरा जाता है।

मैंने इस विचार को अधिक आसानी से पकड़ने के लिए कई टिप्पणियां जोड़े। मुझे आशा है कि यह सहायक होगा! ;)

+0

@ एंड्रयूस बरकिस अरे, मैंने आपके नमूना प्रोजेक्ट का उपयोग किया, यह सरल और अच्छा :) लेकिन मुझे स्रोत कोड में समस्या का सामना करना पड़ रहा है। निम्नलिखित आयात नहीं मिला है: com.slidingmenu.lib आयात करें। स्लाइडिंगमेनू; – berserk

+1

ठीक है यह एक एक्सडी तय किया गया है लेकिन getSlidingMenu() त्रुटि में त्रुटि है: स्लाइडिंगमेनूइनुइज़रिसर प्रकार से विधि प्राप्त करना स्लाइडिंगमेनू() को गायब प्रकार स्लाइडिंगमेनू – berserk

+0

से ठीक है, ठीक है सभी बग एक्सडी तय करें मैंने अभी आपके आयात कथन को हटा दिया है और मूल फीनस्टीन लाइब्रेरी में बदल दिया है: डी – berserk

10

एक Activity जो SlidingActivity फैली बनाएं, अपने मेनू के लिए एक Fragment बना सकते हैं और विधि में इस ऐड onCreate:

FrameLayout frameLayout = new FrameLayout(this); 
frameLayout.setId(ID_MENUFRAME); 
setBehindContentView(frameLayout); 
FragmentTransaction ft = getFragmentManager().beginTransaction(); 
MenuFragment menuFragment = new MenuFragment(); 
ft.replace(ID_MENUFRAME, menuFragment); 
ft.commit(); 

जहां ID_MENUFRAME एक int है जो आपके लेआउट में मौजूद आईडी नहीं है (मैं इसे 1 पर सेट करता हूं)।
फिर, अगर आप को खोलने या मेनू को बंद करना चाहते हैं, फोन:

getSlidingMenu().toggle(); 

और आप किसी भी अन्य गतिविधि की तरह अपनी गतिविधि का उपयोग करें।
ध्यान दें कि आपको अपने SlidingMenu प्रोग्रामेटिक रूप से कस्टमाइज़ करना होगा। उदाहरण के लिए:

sm.setBehindOffsetRes(R.dimen.slidingMenu_behindOffset); 
sm.setShadowWidthRes(R.dimen.slidingMenu_shadowWidth); 
sm.setShadowDrawable(R.drawable.slidingmenu_shadow); 
+0

** बहुत बहुत धन्यवाद! ** मुझे उम्मीद है कि यह निश्चित रूप से मेरी मदद करेगा ;-) –

+0

मैंने यहां त्रुटियों को मारा: "मेनूफ्रेगमेंट" को किसी प्रकार से हल नहीं किया जा सकता है। कोई विचार? – Ada

+1

आपको अपना खुद का टुकड़ा बनाकर अपना 'फ्रैगमेंट' बनाना होगा और 'मेनूफ्रेगमेंट' को अपने स्वयं के टुकड़े से बदलना होगा। – yDelouis

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