Настройка
У меня есть действие, contentView которого является экземпляром DrawerLayout, в котором есть ящик навигации с индикатором ящика, отображаемым на панели действий. Действие содержит Fragment, назовите его ListFragment, который содержит список опций. Когда нажимается эта опция, я заменяю ListFragment на DetailFragment.

В этот момент я бы хотел отобразить "вверх" навигационную опцию вместо индикатора навигационного ящика. Я могу отобразить значок "вверх" , если я отключу индикатор ящика, вызвав mDrawerToggle.setDrawerIndicatorEnabled(false), но это только удаляет значок ящика - он не удаляет функциональность, то есть когда я нажимаю на каретку, навигационный ящик все еще открыт.
Кроме того, в этих subviews я хотел бы отключить открытие ящика, перетащив его с края экрана. Я попытался сделать это, вызвав setDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED), но он, похоже, не отключил эту функцию.
Я попытался расширить класс ActionBarDrawerToggle, чтобы предотвратить открытие ящика при щелчке индикатора - однако все, что происходит, это то, что выполняется переопределение ( "вверх" ), но ящик все еще открывается.
Я также выполнил шаги в Переключение между изображениями Android Navigation Drawer и Up caret при использовании фрагментов. Он работает, поскольку отображение каретки идет, но, несмотря на отмену функциональности кнопки вверх, меню по-прежнему открывается (приложение перемещается назад - оно просто также открывает ящик).
Вопрос
Итак, длинный рассказ: есть ли (желательно чистый и элегантный, но на данный момент я пойду с хакерским) способом достижения этих вещей, когда мой корень макета DrawerLayout:
- Замените индикатор выдвижного ящика каретой "вверх" (предварительно выполнив
mDrawerToggle.setDrawerIndicatorEnabled(false)) - Предотвратить открытие ящика при нажатии на каретку и вместо этого переопределить мою собственную функциональность "вверх"
- Предотвратите открытие ящика при перетаскивании с края экрана.
Изменить
Все в порядке, похоже, если я переопределяю ActionBarDrawerToggle AND onOptionsItemSelected, меню не открывается, когда я нажимаю на каретку. Но он все равно открывается, если я перетаскиваю его с края. Помогите!