В чем разница между панелью действий и новой панелью инструментов?

После того, как Google представил Material Design, я слышал о новом классе виджета под названием "Панель инструментов".

Что такое панель инструментов, и какова точная разница между ActionBar и ToolBar?

Ответ 1

Я нашел хорошее объяснение из Опубликовать блог разработчиков Android.

В этом выпуске Android представляет новый виджет панели инструментов. Это обобщение шаблона Action Bar, которое дает вам больше контроля и гибкости. Панель инструментов представляет собой представление в вашей иерархии, как и любое другое, что упрощает чередование с остальной частью вашего views, оживить его и отреагировать на события прокрутки. Вы также можете установить его как панель действий Activitys, что означает, что в нем будут отображаться ваши действия в стандартном меню.

Да, мы, разработчики Android, нуждались в большем контроле над ActionBar, правильно? И Toolbar только для этого.

Другими словами, ActionBar теперь стал особым типом Toolbar. Это отрывок из официального документа о дизайне материалов Google.

Панель приложений, ранее известная как панель действий в Android, представляет собой специальную панель инструментов, используемую для брендинга, навигации, поиска и действий.

Более подробная информация о том, как использовать Toolbar в качестве ActionBar, включена в вышеупомянутое сообщение в блоге.

Ответ 2

Компонент панели инструментов был добавлен в Android на Android 5.0 (леденец). До Lollipop панель действий была рекомендуемым компонентом для навигации и действий в приложении.

Панель панели действий и - очень похожие компоненты. Панель построена поверх панели . Он имеет настраиваемый пользовательский интерфейс и является более гибким в способах его использования.

Наиболее очевидным отличием является обновленный визуальный дизайн панели инструментов . Панель больше не содержит иконку с левой стороны и уменьшает расстояние между элементами действия с правой стороны. Еще одним важным визуальным изменением является кнопка "Вверх". В панели действий эта кнопка была намного более тонкой и была только аксессуаром рядом с значком в панели .

Помимо визуальных различий, основная цель панели инструментов должна быть более гибкой, чем панель действий . панель действий имеет множество ограничений. Он всегда будет отображаться в верхней части экрана. Может быть только одна панель действий. Размер панели действий фиксирован и не должен изменяться. панель инструментов не имеет этих ограничений.

Вы можете вручную включить панель инструментов в качестве обычного вида в вашей деятельности или в файле макета фрагмента. Вы можете разместить панель инструментов в любом месте, где бы вы ни находились, и даже на экране можно одновременно включать несколько панелей инструментов.

Другим дополнением с панелью инструментов является возможность размещения представлений внутри панели инструментов , а также настройка высоты панели инструментов. Это позволяет значительно повысить гибкость в работе вашего приложения.

Ответ 3

Панель инструментов представляет собой обобщение баров действий для использования в макетах приложений. Хотя панель действий традиционно является частью непрозрачного оконного оформления Activity, управляемого инфраструктурой, панель инструментов может быть размещена на любом произвольном уровне вложенности внутри иерархии представлений. Приложение может выбрать назначение панели инструментов в качестве панели действий для Activity с использованием метода setActionBar().

Панель инструментов поддерживает более сфокусированный набор функций, чем ActionBar. От начала до конца панель инструментов может содержать комбинацию следующих дополнительных элементов:

Кнопка навигации. Это может быть стрелка вверх, переключатель меню навигации, закрыть, свернуть, сделать или другой символ выбора приложения. Эта всегда должна использоваться для доступа к другим навигационным пунктам в контейнере панели инструментов и ее обозначенном содержимом или в противном случае оставить текущий контекст, обозначенный панелью инструментов. навигационная кнопка выравнивается по вертикали в пределах минимальной панели инструментов высота, если установлен. Логотип с логотипом. Это может простираться до высоты бар и может быть сколь угодно широким.

Заголовок и субтитры. Заголовок должен быть указателем для панели инструментов. текущая позиция в иерархии навигации и содержание, содержащееся там. Подзаголовок, если он присутствует, должен указывать любые расширенные информацию о текущем контенте. Если приложение использует изображение логотипа, оно должны решительно отказаться от названия и субтитров.

Один или несколько пользовательских представлений - приложение может добавлять произвольные дочерние представления на панель инструментов. Они появятся в этой позиции в макете. Если дочернее представление Toolbar.LayoutParams указывает значение Gravity CENTER_HORIZONTAL, точка будет пытаться центрироваться в пределах доступных оставшееся на панели инструментов после того, как все остальные элементы были измеряется.

Меню действий - меню действий будет выведено до конца панели инструментов предлагая несколько частых, важных или типичных действий вместе с дополнительное меню переполнения для дополнительных действий. Кнопки действий вертикально выровненная на минимальной высоте панели инструментов, если установлена.

ActionBar - это основная панель инструментов (или специализированная) в рамках действия, которая может отображать заголовок активности, возможности навигации на уровне приложений и другие интерактивные элементы.

Начиная с Android 3.0 (уровень API 11), панель действий отображается в верхней части окна активности, когда в действии используется темa > Голо (или одна из ее тем-потомков), которая по умолчанию. > В противном случае вы можете добавить панель действий, вызвав > requestFeature (FEATURE_ACTION_BAR) или объявив ее в пользовательском >

     

с атрибутом windowActionBar.

<Р → Регулируя функции окна, запрошенные темой и макеты, используемые для представления содержимого активности, приложение может использовать стандартная панель действий системы на более ранних версиях платформы и более новая встроенных панелей инструментов в новых версиях платформ. Объект ActionBar полученные от Activity, могут использоваться для управления любой конфигурацией прозрачно.

При использовании тем Holo на панели действий отображается значок приложения слева, а затем заголовок активности. Если ваша деятельность имеет меню опций, вы можете сделать элементы выбора доступными непосредственно из панель действий как "элементы действия". Вы также можете изменять различные характеристики панели действий или полностью удалить ее.