Отключение навигационного ящика, переключение домашней кнопки / индикатора вверх по фрагментам
У меня есть активность, содержимое которой является экземпляромDrawerLayout
, который имеет навигационный ящик с индикатором ящика, отображаемым на панели действий. Деятельность содержитFragment
давайте назовем этоListFragment
, который содержит список опций. Когда опция нажата, я заменяюListFragment
сDetailFragment
.
На этом этапе я бы хотел отобразить опцию навигации «вверх» вместо индикатора навигационной панели. Я могу отобразить значок «вверх», если отключить индикатор ящика, позвонивmDrawerToggle.setDrawerIndicatorEnabled(false)
, но это только удаляет значок ящика - он не удаляет функциональность - то есть, когда я щелкаю каретку, ящик навигации все еще открыт.
Кроме того, в этих подпредставлениях я хотел бы отключить открытие ящика, перетаскивая его с края экрана. Я пытался сделать это, позвонивsetDrawerLockMode(DrawerLayout.LOCK_MODE_LOCKED_CLOSED)
но, похоже, эта функция не отключена.
Я пытался расширитьActionBarDrawerToggle
класс для предотвращения открытия ящика при нажатии на индикатор - однако, все, что происходит, это то, что выполняется действие переопределения (навигация «вверх»), но ящиквсе еще открывается.
Я также реализовал шаги вПереключение между изображением Android Navigation Drawer и кареткой Up при использовании фрагментов , Он работает до тех пор, пока идет отображение каретки, но, несмотря на переопределение функциональности кнопки «вверх», меню все равно открывается (приложение перемещается назад - оно просто также открывает ящик).
ВопросИтак, короткая история: есть ли какой-нибудь (желательно чистый и элегантный, но на этом этапе я пойду с хакером) способ достичь этих целей, когда мой корень макета являетсяDrawerLayout
:
mDrawerToggle.setDrawerIndicatorEnabled(false))
Предотвратить открытие ящика при нажатии на каретку, и вместо этого переопределить с моей собственной функцией "вверх"Не открывайте ящик, когда я перетаскиваю его за край экрана.редактироватьХорошо, похоже, если я оба переопределитьActionBarDrawerToggle
А ТАКЖЕonOptionsItemSelected
, меню не открывается, когда я нажимаю на каретку. Но он все равно открывается, если я тяну с края Помогите!