Wyłączanie szuflady nawigacyjnej, przełączanie fragmentów na przycisk domowy / wskaźnik do góry

Ustawić

Mam działanie, którego contentView jest instancją aDrawerLayout, która ma szufladę nawigacyjną ze wskaźnikiem szuflady wyświetlanym na pasku akcji. Działanie zawiera aFragment, nazwijmy toListFragment, który zawiera listę opcji. Po kliknięciu opcji zastępujęListFragment zDetailFragment.

W tym momencie chciałbym wyświetlić opcję nawigacji „w górę” zamiast wskaźnika szuflady nawigacyjnej. Mogę wyświetlić ikonę „w górę”, jeśli wyłączę wskaźnik szuflady, dzwoniącmDrawerToggle.setDrawerIndicatorEnabled(false), ale to usuwa tylko ikonę szuflady - nie usuwa funkcjonalności - to znaczy, gdy kliknę na daszek, szuflada nawigacyjna jest nadal otwarta.

Dodatkowo, w tych widokach, chciałbym wyłączyć otwieranie szuflady, przeciągając z krawędzi ekranu. Próbowałem to zrobić, dzwoniącsetDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) ale wydaje się, że ta funkcja nie została wyłączona.

Próbowałem rozszerzyćActionBarDrawerToggle klasa, aby zapobiec otwarciu szuflady po kliknięciu wskaźnika - wszystko, co się dzieje, to wykonanie akcji nadrzędnej (nawigacja „w górę”), ale szufladawciąż się otwiera.

Wprowadziłem również kroki wPrzełączanie między obrazem szuflady nawigacji Android i Up Caret podczas używania fragmentów . Działa tak, jak wyświetla się daszek, ale pomimo nadpisania funkcjonalności przycisku „w górę”, menu nadal się otwiera (aplikacja nawiguje z powrotem - po prostu otwiera szufladę).

Pytanie

Krótko mówiąc: czy istnieje jakiś (najlepiej czysty i elegancki, ale w tym momencie pójdę hacky) sposób, aby osiągnąć te rzeczy, gdy mój katalog główny jestDrawerLayout:

Wymień wskaźnik szuflady na karetkę „do góry” (wstępnie wykonalna przezmDrawerToggle.setDrawerIndicatorEnabled(false))Zapobiegaj otwieraniu szuflady po kliknięciu kursora i zamiast tego nadpisuj moją własną funkcjonalność „w górę”Zapobiegaj otwarciu szuflady, gdy przeciągam ją od krawędzi ekranu.Edytować

W porządku, wygląda na to, że oboje zastąpięActionBarDrawerToggle IonOptionsItemSelected, menu nie otwiera się po kliknięciu kursora. Ale nadal otwiera się, jeśli przeciągnę od krawędzi. Wsparcie!

questionAnswers(5)

yourAnswerToTheQuestion