Создание ToolBar в Android Studio

Сегодня мы расскажем: как разработать 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 для приложения.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *