Отключение навигационного ящика, переключение домашней кнопки / индикатора вверх по фрагментам

Настройка

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

На данный момент, я хотел бы отобразитьвверх» опция навигации вместо индикатора навигационной панели. Я'я могу отобразить "вверх» значок, если я отключаю индикатор ящика по телефонуmDrawerToggle.setDrawerIndicatorEnabled(false), но это только удаляет значок ящика - он не удаляет функциональность - то есть, когда я щелкаю каретку, ящик навигации все еще открыт.

Кроме того, в этих подпредставлениях я хотел бы отключить открытие ящика, перетаскивая его с края экрана. Я пытался сделать это, позвонивsetDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED) но это неКажется, я отключил эту функцию.

Я пытался расширитьActionBarDrawerToggle класс для предотвращения открытия ящика при нажатии на индикатор - однако, все, что происходит, это то, что переопределяющее действие ("вверх» навигация) выполняется, но ящиквсе еще открывается.

Я также реализовал шаги вПереключение между изображением Android Navigation Drawer и кареткой Up при использовании фрагментов , Он работает до тех пор, пока идет отображение каретки, но, несмотря на переопределение функциональности кнопки «вверх», меню все равно открывается (приложение перемещается назад - оно просто также открывает ящик).

Вопрос

Итак, короткая история: есть ли (желательно чистые и элегантные, но на этом этапе яЯ пойду с hacky) способом достичь этих вещей, когда мой макет root является:DrawerLayout

Замените индикатор ящика на "вверх» каретка (предварительно выполнимо черезmDrawerToggle.setDrawerIndicatorEnabled(false))Предотвратить открытие ящика при нажатии на каретку, и вместо этого переопределить мой "вверх» функциональностьНе открывайте ящик, когда я перетаскиваю его за край экрана.редактировать

Хорошо, похоже, если я оба переопределитьActionBarDrawerToggle А ТАКЖЕonOptionsItemSelected, меню не открывается, когда я нажимаю на каретку. Но он все равно открывается, если я тяну с края. Помогите!

Ответы на вопрос(5)

Ваш ответ на вопрос