Mam aktywność z paskiem aplikacji i szufladą nawigacji. Pasek aplikacji został zaimplementowany przy użyciu nowej klasy paska narzędzi Toolbar z biblioteki appcompat-v7 w wersji 21. +, a przed nią wyświetlona jest szuflada nawigacji.Jak sprawić, aby kontekstowy pasek trybu działania nakładał się na pasek narzędzi appcompat-v7, ale nie na szufladę nawigacji?
Aktywność zawiera widok listy z elementami, które można wybrać, dlatego pokazuję pasek działań kontekstowych (CAB). Jest uruchamiany przez wywołanie:
ActionBarActivity.startSupportActionMode(android.support.v7.view.ActionMode.Callback callback)
Domyślnie CAB jest wstawiany powyżej Toolbar zamiast nakładania go; wygląda na to, że CAB będzie domyślnie nakładał tylko prawdziwy ActionBar. Jak przedstawienie w this answer, CAB prawidłowo nakłada się pasek Gdy ta właściwość jest ustawiona motyw:
<item name="windowActionModeOverlay">true</item>
Ale to także sprawia nakładkę CAB szufladę nawigacji, który jest nieprawidłowy według the Material design specs. Główny dokument projektowy systemu Android ukrywa CAB, gdy szuflada nawigacji jest otwarta i wyświetla ją ponownie, gdy jest zamknięta, i this could be done, aby "naprawić" problem, ale nie powinno to być konieczne. Odtworzone specyfikacje projektowe materiałów nie określają, że CAB powinny być ukryte, gdy szuflada nav otwiera się, a ponieważ szuflada nav powinna otwierać się nad CAB, ukrycie CAB byłoby w rzeczywistości wizualnym rozproszeniem.
Czy istnieje sposób na wyświetlenie szuflady nawigacyjnej przed jednostką CAB, która wciąż ma nałożony pasek narzędzi?
Używam RecyclerView zamiast ListView. Przynajmniej w tym przypadku to nie zadziałało. CAB jest nadal w mojej szufladzie. –