Наслагване на лентата за действие

Този урок ще ви научи

Вие също трябва да прочетете

По подразбиране лентата с действия се показва в горната част на прозореца на дейността, като леко намалява наличното пространство за останалата част от оформлението на вашата дейност. Ако по време на взаимодействие с потребителя искате да скриете или покажете лентата с действия, можете да го направите, като извикате 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, които включват стила в платформата, а вторият без префикс за по-стари версии, които вземат стила от библиотеката за поддръжка.

Посочете горната граница на оформлението

Когато лентата за действие е в режим на наслагване, тя може да скрие част от оформлението, която трябва да остане видима. За да могат такива елементи да останат под лентата за действие през цялото време, добавете поле (марж) или подложка (подложка) в горната част на изгледа, като използвате височината, зададена от actionBarSize. Например:

Ако използвате библиотеката за поддръжка на лентата с действия, трябва да премахнете префикса android:. Например:

В този случай стойността ?attr/actionBarSize без префикса работи на всички версии, включително Android 3.0 и по-нови.