2013-03-15 31 views
8

我同時使用SlidingMenuCrouton,但我發現,滑動菜單重疊crouton通知Crouton + SlidingMenu重疊

crouton and slidingmenu overlap

我將報告在github上的問題,但我不」不知道錯誤屬於哪裏。

Cyril Mottier在他的Prixing article about in-layout notifications中提到了3個上下文的存在,左邊的菜單本身有一個Context。這樣,通知就會與其他內容一起滑動。

enter image description here

因爲SlidingMenu和Crouton都使用活動場景,也許這根本不是解決的。我們可以在顯示SlidingMenu之前輕鬆地撥打

Crouton.cancelAllCroutons(); 

但我喜歡Prixing的滑出功能。

希望圖書館的作者可以聲明錯誤或闡明它。

謝謝!

編輯:

我使用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

你是如何建立SlidingMenu和顯示麪包塊?我正在擴展SlidingActivity,而我沒有這個問題。 – Nachi 2013-03-19 12:40:27

+0

@Nachi謝謝,看到更新的問題。也許如果我從SlidingActivity擴展到可以解決問題的方案......我會嘗試一下,如果它修復了它,我會在SlidingMenu項目中報告一個錯誤,因爲我不記得閱讀過使用圖書館這樣或那樣(也許我錯了,它的指定) – Maragues 2013-03-19 13:30:54

回答

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(甚至是資源ID),但我建議有一個FrameLayoutCrouton重視。

+0

謝謝!我已經成功地實現了你的解決方案,但是爲了將它擴展到我的所有屏幕,我不得不每次都去解決。xml並在頂部添加一個額外的視圖,這聽起來非常糟糕,並且很難維護: - /只需將其附加到內容[(ViewGroup)mSlidingMenu.getContent()]尊重佈局重力屬性,因此麪包房可能最終放置在屏幕中間。無論如何,非常感謝圖書館和你的時間。 – Maragues 2013-03-22 16:28:50