Сегодня мы расскажем: как разработать ToolBar для своего приложения.
Изначально ToolBar имеется в каждом приложении. Но для того чтобы он стал видимым, нужно задать ему кнопки.
Кнопки создаются аналогично с BottomNavigateView: Нужно в папке res создать папку menu (new->Android Resources Directory), в строке Directory Name и Resources Type нужно указать menu. В данной папке мы будем хранить файлы с кнопками, которые будут отображаться в ToolBar.
Создание файла с кнопками
После создания папки menu нам нужно создать сам файл в котором будут храниться кнопки для ToolBar.
Кликаем правой кнопкой мыши (ПКМ) по папке menu и создаём Menu Resources (new -> Menu Resources), присваиваем название файлу.
Открываем этот файл, выбираем режим редактирования Code. Для создания кнопки существует тэг item, в случае, если мы делаем кнопки для меню, то он принимает два обязательных параметра: icon и title. icon отвечает за иконку, title за отображаемое название.
Помимо основных параметров, этот тэг принимает параметр showAsAction. Параметр отвечает за то, как будут отображаться кнопки:
Значение never: кнопка всегда находится в меню, которое можно открыть нажав на три точки. Параметр icon можно не использовать
Значение always: кнопка всегда находится в виде картинки на ActionBar
Значение ifRoom: андроид сам выбирает в каком виде отображать кнопку — если она помещается в ActionBar он её отображает в виде картинки, если нет, то добавляет её в меню. Google рекомендует использовать именно это значение.
Теперь поговорим о том, как задать порядок кнопок. Для этого существует параметр orderInCategory, он принимает в себя целые числа. Параметр работает так: чем меньше число, тем выше находится кнопка в списке:
Отображение кнопок в приложении
Как мы уже говорили, в каждом приложении по умолчанию уже есть такое меню. Просто оно без кнопок. При запуске приложения оно создаётся, и вызывается метод onCreateOptionsMenu(Menu menu), который в атрибуте содержит экземпляр ToolBar’a, поэтому, достаточно через метод getMenuInflater().inflate загрузить в это меню наши кнопки.
Готовый код:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.tool_bar, menu); //R.menu.toll_bar — путь до файла с кнопками
return true;
}
Итог
Вот так быстро и просто создавать ToolBar для приложения.