2013-03-15 11 views
8

używam zarówno SlidingMenu i Crouton, ale uznaliśmy, że menu przesuwne pokrywa powiadomienie CroutonCrouton + SlidingMenu pokrywają

crouton and slidingmenu overlap

Chciałbym zgłosić problem w github, ale don” t wiedzieć, gdzie błąd należy.

Cyril Mottier wspomina w swoim numerze Prixing article about in-layout notifications istnienie 3 Kontekstów, lewe menu ma własny Kontekst. W ten sposób powiadomienie będzie się wyświetlać wraz z resztą treści.

enter image description here

Ponieważ zarówno SlidingMenu i Crouton używać kontekstu aktywności, może to po prostu nie to naprawić. Przed wyświetleniem menu przesuwania możemy łatwo wywołać , ale podoba mi się funkcja wysuwana Prixing.

Mam nadzieję, że autorzy biblioteki mogą zgłosić błąd lub rzucić trochę światła na to.

Dzięki!

EDIT:

Używam SlidingMenu tworząc obiekt i dołączenie go do aktywności

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(); 
} 

a Crouton, myślę, że jest tylko jeden sposób, aby wykorzystywać go

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

Gdzie to jest taka sama dla obu przypadkach aktywność

+1

Jak budujesz Sliding Menu i wyświetlasz Crouton? Rozszerzam SlidingActivity i nie mam tego problemu. – Nachi

+0

@Nachi dzięki, patrz zaktualizowane pytanie. Może gdybym rozszerzył z SlidingActivity, który naprawiłby problem ... Spróbuję go, a jeśli go naprawię, zgłoszę błąd w projekcie SlidingMenu, ponieważ nie pamiętam, aby przeczytać, że były różnice w korzystaniu z biblioteka w jedną lub w drugą stronę (być może jestem w błędzie i została określona) – Maragues

Odpowiedz

6

Możesz łatwo dołączyć Crouton do określonego ViewGroup.

Wszystko, co musisz zrobić, to zadzwonić pod numer Crouton.makeText(Activity, CharSequence, Style, ViewGroup), Crouton.make(...) lub Crouton.show(...).

Utworzony Crouton jest następnie dołączany do ViewGroup i wysuwa się wraz z rodzica po otwarciu SlidingMenu.

Więc kiedy jesteś tworzeniu Crouton z Fragment

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

jeszcze można dodać do dowolnego ViewGroup (nawet przez identyfikator zasobu), choć polecam mieć FrameLayout przymocować do Crouton .

+0

Dzięki! Z powodzeniem wdrożyłem twoje rozwiązanie, ale aby rozszerzyć je na wszystkie moje ekrany, musiałem przejrzeć wszystkie.xml i dodaj dodatkowy widok na górze, co brzmi bardzo źle i trudno jest zachować: -/Po prostu dołączenie go do treści [(ViewGroup) mSlidingMenu.getContent()] respektuje właściwości grawitacji layoutu, dzięki czemu może zajść koniec na środku ekranu. W każdym razie, bardzo dziękuję za bibliotekę i za poświęcony czas. – Maragues