Накладення панелі дій

Цей урок навчить вас

Ви також повинні прочитати

За умовчанням панель дій відображається у верхній частині вікна діяльності, трохи зменшуючи простір, доступний для решти макета вашої діяльності. Якщо під час взаємодії з користувачем ви хочете приховати або показати панель дій, ви можете зробити це викликавши hide() і show() на ActionBar . Однак це змушує вашу діяльність перерахувати та перемалювати макет, заснований на його новому розмірі.

Щоб уникнути зміни розміру макету, коли панель дій ховається та відображається, ви можете увімкнути режим накладання для панелі дій. У режимі накладання, ваш макет використовує весь доступний простір, якби панелі дій не було, і система малює панель дій перед макетом. Це затемнює деяку частину макета у верху, але тепер, коли панель дій ховається або з'являється, системі не потрібно змінювати розмір макета і перемикання стає плавним.

Увімкнути режим накладання

Щоб увімкнути режим накладання для панелі дій, необхідно створити власну тему, яка розширює існуючу тему панелі дій, і встановити android:windowActionBarOverlay властивість в true .

Тільки для Android 3.0 та вище

Якщо ваш minSdkVersion встановлений в 11 або вище, тема користувача повинна використовувати Theme.Holo тему (або одну з її нащадків) в якості батьківської теми. Наприклад:

Для Android 2.1 та вище

Якщо ваш додаток використовує Бібліотеку підтримки для сумісності на пристроях під керуванням Android версії нижче 3.0, тема користувача повинна використовувати Theme.AppCompat тему (або одну з її нащадків) як батьківську тему. Наприклад:

Також зверніть увагу, що ця тема включаєсебе два визначення для windowActionBarOverlay стилю: одне з android: префіксом і друге без. Той, що з android: префіксом для версій Android, які включають стиль у платформі, і друге без префіксу для старих версій, які беруть стиль із Бібліотеки підтримки.

Вкажіть верхню межу макету

Коли панель дій у режимі накладання, це може затемнити деяку частину макета, яка повинна бути видимою. Для того, щоб такі елементи залишалися нижче панелі дій весь час, додайте або поле (margin) або заповнення (padding) для верхньої частини вистави за допомогою висоти, вказаної actionBarSize . Наприклад:

Якщо ви використовуєте бібліотеку підтримки для панелі дій, необхідно видалити android: префікс. Наприклад:

У цьому випадку, ?attr/actionBarSize значення без префікса працює на всіх версіях, включаючи Android 3.0 та вище.