Хорошо, я пытаюсь понять, что я проиграю, если я использую Toolbar
как самоуправляемый ActionBar
, а не использовать setSupportActionBar.Панель инструментов как управляемая пользователем ActionBar vs Панель инструментов в качестве управляемой рамки ActionBar
AFAIK, все это ActionBar
делает, предоставляет заполнители для логотипа, навигации и пунктов меню, а также позволяет Fragments
добавлять/настраивать пункты меню.
Та же функциональность может быть достигнута с использованием Toolbar.setLogo()
, Toolbar.setNavigationIcon()
, Toolbar.setNavigationOnClickListener()
и Toolbar.inflateMenu()
apis. Конечно, управление логикой обработки меню до Fragments
может быть потеряно, но я думаю, что это не так важно, если Activity
знает, что Fragment
находится сверху и соответствующим образом изменяет пункты меню.
Я пытаюсь, чтобы убедиться:
- Если я могу достигнуть каждого
ActionBar
возможности только с помощьюToolbar
иMenuItems
(а не с помощьюsetSupportActionBar()
). - Уверен, что не имеет исчерпывающего знания о
ActionBar
apis. Некоторые изActionBar
apis очень сбивают с толку. ИспользуяsetHomeAsUp
api, чтобы показать значок гамбургера, значок назад и т. Д., Не чувствует себя хорошо. Если кто-то начинает изучать Android сегодня, им даже нужно понять фреймворкActionBar
apis?
Update: В статье Android Design Support Library по разделу CoordinatorLayout and the app bar
, я узнал, что новая парадигма приложение бар является заменой парадигмы действия бар. Я думаю, что панель действий скоро будет устаревшей, и мы должны привыкнуть к новой панели приложений , которая охватывает новые впечатления пользователей от дизайна материалов.
Вы правы в своем обновлении относительно Библиотеки поддержки дизайна, но по состоянию на сегодняшний день и AFAIK вам по-прежнему нужен 'getSupportActionBar(). SetDisplayHomeAsUpEnabled (true)' в некоторых случаях: https://stackoverflow.com/q/31475986/ 603270 – shkschneider