android - Как сделать панель контекстного ActionMode наложением панели инструментов appcompat-v7, но не ящиком навигации?


0 Answers

android navigation-drawer android-5.0-lollipop android-toolbar contextual-action-bar

У меня есть активность с панелью приложений и навигационным ящиком. Панель приложений реализована с использованием нового класса панели инструментов из библиотеки apcompat-v7 версии 21. +, и перед ним отображается навигационный ящик.

Действие содержит представление списка с элементами, которые можно выбрать, поэтому я показываю контекстную панель действий (CAB). Он запускается по телефону:

ActionBarActivity.startSupportActionMode(android.support.v7.view.ActionMode.Callback callback)

По умолчанию CAB вставлен над панелью инструментов вместо наложения на нее; кажется, что CAB по умолчанию будет перекрывать истинный ActionBar. Как показано в этом ответе , CAB правильно накладывает панель инструментов, когда установлено это свойство темы:

<item name="windowActionModeOverlay">true</item>

Но это также делает CAB наложением навигационного ящика, что неверно в соответствии с спецификациями дизайна материалов . Основной дизайн Android-документов по- прежнему рекомендуется скрывать CAB при открытии ящика навигации и повторять его при закрытии, и это можно сделать, чтобы «исправить» проблему, но это не обязательно. Как указано, спецификации материалов не указывают, что CAB должен быть скрыт при открытии ящика навигации, и поскольку выдвижной ящик должен открываться над CAB, скрытие CAB на самом деле является визуальным отвлечением.

Есть ли способ отобразить навигационный ящик перед CAB, но при этом он накладывает панель инструментов?



Related