2013-03-15 11 views
8

मैं दोनों SlidingMenu और Crouton उपयोग कर रहा हूँ, लेकिन मैं पाया है कि रपट मेनू crouton अधिसूचनाcrouton + SlidingMenu ओवरलैप

crouton and slidingmenu overlap

मैं GitHub में किसी समस्या की रिपोर्ट हैं ओवरलैप करता है, लेकिन मैं डॉन ' टी पता है कि बग कहाँ है।

सिरिल मोटीयर ने अपने Prixing article about in-layout notifications में 3 संदर्भों के अस्तित्व में उल्लेख किया है, बाएं मेनू में स्वयं का संदर्भ है। इस तरह, अधिसूचना शेष सामग्री के साथ स्लाइड करती है।

enter image description here

क्योंकि दोनों SlidingMenu और crouton गतिविधि संदर्भ का उपयोग करें, हो सकता है यह केवल सुधारी जा सकने वाली नहीं है। स्लाइडिंगमेनू को प्रदर्शित करने से पहले हम आसानी से

Crouton.cancelAllCroutons(); 

पर कॉल कर सकते हैं, लेकिन मुझे प्रिक्सिंग की स्लाइड-आउट सुविधा पसंद है।

उम्मीद है कि लाइब्रेरी लेखक बग का दावा कर सकते हैं या उस पर कुछ प्रकाश डाल सकते हैं।

धन्यवाद!

संपादित करें:

मैं SlidingMenu उपयोग कर रहा हूँ वस्तु बनाने और गतिविधि

private void configureSideMenu() { 
    mSlidingMenu = new SlidingMenu(this); 
    mSlidingMenu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN); 
    mSlidingMenu.setFadeDegree(0.35f); 
    mSlidingMenu.attachToActivity(this, SlidingMenu.SLIDING_CONTENT); 
    mSlidingMenu.setBehindOffsetRes(R.dimen.slidingmenu_offset); 
    mSlidingMenu.setMenu(R.layout.menu_frame); 
    getSupportFragmentManager().beginTransaction().replace(R.id.menu_frame, new MySideMenuFragment()).commit(); 
} 

और crouton को अटैच कर, मैं वहाँ सिर्फ एक ही रास्ता यह

Crouton.showText(this, R.string.error_not_logged_in, Style.ALERT); 
उपयोग करने के लिए लगता है

जहां यह दोनों मामलों के लिए एक ही गतिविधि है

+1

आप स्लाइडिंगमेनू कैसे बना रहे हैं और क्रॉउटन प्रदर्शित कर रहे हैं? मैं स्लाइडिंग एक्टिविटी बढ़ा रहा हूं और मेरे पास यह समस्या नहीं है। – Nachi

+0

@ नाची धन्यवाद, अद्यतन प्रश्न देखें। हो सकता है कि अगर मैं स्लाइडिंग एक्टिविटी से विस्तार करता हूं जो इस मुद्दे को ठीक करेगा ... मैं इसे आज़माउंगा, और अगर यह ठीक हो जाए तो मैं स्लाइडिंगमेनू प्रोजेक्ट में एक बग की रिपोर्ट करूंगा, क्योंकि मुझे पढ़ना याद नहीं है कि वहां पढ़ने में अंतर थे लाइब्रेरी एक तरफ या दूसरा (शायद मैं गलत हूं और यह निर्दिष्ट है) – Maragues

उत्तर

6

आप आसानी से Crouton को एक विशिष्ट ViewGroup पर आसानी से संलग्न कर सकते हैं।

आपको केवल Crouton.makeText(Activity, CharSequence, Style, ViewGroup), Crouton.make(...) या Crouton.show(...) पर कॉल करने की आवश्यकता है।

बनाया गया Crouton तब ViewGroup से जुड़ा हुआ है और SlidingMenu खुलता है जब उसके माता-पिता के साथ स्लाइड हो जाएगा।

इसलिए, जब आप एक Fragment

Crouton.showText(this, R.string.error_not_logged_in, Style.ALERT, (ViewGroup) getView()); 

वरना से Crouton बना रहे हैं आप इसे किसी भी ViewGroup (यहां तक ​​कि संसाधन आईडी द्वारा) करने के लिए जोड़ सकते हैं, हालांकि मैं करने के लिए Crouton संलग्न करने के लिए एक FrameLayout है की सलाह देते हैं ।

+0

धन्यवाद! मैंने आपके समाधान को सफलतापूर्वक कार्यान्वित किया है, लेकिन इसे अपनी सभी स्क्रीन पर विस्तारित करने के लिए मुझे हर किसी पर जाना होगा।एक्सएमएल और शीर्ष पर एक अतिरिक्त दृश्य जोड़ें, जो बहुत बुरा लगता है और मैंटैन के लिए कड़ी मेहनत करता है: -/बस इसे सामग्री से जोड़ना [(व्यू ग्रुप) mSlidingMenu.getContent()] लेआउट गुरुत्वाकर्षण गुणों का सम्मान करता है, इस प्रकार crouton को समाप्त हो सकता है स्क्रीन के बीच में। वैसे भी, लाइब्रेरी के लिए और आपके समय के लिए बहुत बहुत धन्यवाद। – Maragues

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