Toolbar - це повна заміна ActionBar'а. На відміну від нього Toolbar більше параметрів. Так як Toolbar є звичайним View, то ми можемо розмістити в ньому будь-які View-компоненти (наприклад, логотип компанії). У цьому уроці я розповім, як додати Toolbar в свій додаток.
підготовка
Для того, щоб додати Toolbar в додаток нам потрібно підключити бібліотеку AppCompat з Android Support Library v7. Я не буду описувати як підключати цю бібліотеку до проекту, т. К. В різних IDE це робиться абсолютно по-різному.
підключаємо
Для початку нам потрібно створити файл themes.xml в папці res / values вашого проекту і вставити в нього наступний код:
colorPrimary - колір нашого Toolbar'а
colorPrimaryDark - колір статусбара (доступно з Android KitKat 4.4)
colorAccent - колір віджетів зі стандартними програмами.
Тепер нам потрібно прописати нашу тему в маніфесті в розділі application:
Створіть файл toolbar.xml в папці res / layout після чого вставте в нього цей код:
Після цього ми можемо підключати наш Toolbar, прописавши в layot-файлі:
Готово. Залишилося лише вказати нашої Activity на наш Toolbar. Але перш ніж це зробити нам потрібно успадкувати від ActionBarActivity замість звичайного класу Activity. Це зроблено з тієї причини, що в класі AppCompatActivity є метод setSupportActionBar (Toolbar). за допомогою якого ми і вказуємо нашої Activity на Toolbar:
Встановлюємо колір шрифту
Щоб кожен раз не прописувати колір в коді ми можемо зробити це в themes.xml, вставивши між тегами style:
Включаємо підсвічування статусбара
Для того, щоб статус бар підсвічували вставляємо між тегами style в values / themes.xml:
Створимо в файлі values / dimens.xml новий dimen:
А файлах values-v19 / dimens.xml і values-v21 / dimens.xml вставляємо:
24dp - це висота статусбара.
Встановлюємо відступ зверху нашому Toolbar'у:
Ми встановили відступ в 24 dp в 19 і 21 версіях API, так як тільки у них підтримується підсвічування статусбара.
Також не забудьте поміняти в маніфесті targetSdkVersion на 19 або вище.
Починаючи з Support Library v22 ActionBarActivity вважається застарілим. На заміну до нього прийшов AppCompatActivity.