Телефонуйте » (+38) 096 227 41 41

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

Тим не менш, це заставляє вашу activity перераховувати і перемальовувати макет, заснований на його новому розмірі.


Панель дій галереї в режимі накладання.

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

Порада: Якщо хочете, щоб ваш макет був частково видимий позаду панелі дій, створіть свій стиль для панелі дій з частково прозорим фоном, таким, який показаний на малюнку вище. Для отримання інформації про те, як задати фон для панелі дій, прочитайте Стилізація панелі дій.

Включення режиму Overlay (Накладання)

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

Для Android 3.0 і тільки вище

Якщо minSdkVersion встановлена на 11 версію або вище, то ваша налаштовувана тема повинна використовувати тему Theme.Holo (або один з її нащадків), як батьківську тему. Наприклад:
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.Holo">
        <item name="android:windowActionBarOverlay">true</item>
    </style>
</resources>

Для Android 2.1 і вище

Якщо ваш додаток використовує Support Library для сумісності на пристроях під управлінням версій нижче, ніж Android 3.0, призначена для користувача тема повинна використовувати тему Theme.AppCompat (або один з її нащадків), як батьківську тему. Наприклад:
<resources>
    <!-- the theme applied to the application or activity -->
    <style name="CustomActionBarTheme"
           parent="@android:style/Theme.AppCompat">
        <item name="android:windowActionBarOverlay">true</item>

        <!-- Support library compatibility -->
        <item name="windowActionBarOverlay">true</item>
    </style>
</resources>
Також зверніть увагу, що ця тема включає в себе два визначення для стилю windowActionBarOverlay: один з префіксом android: і один без нього. Один з префіксом android: для версій Android, які включають стиль в платформі і один без префікса для більш старих версій, які читають стиль з Support Library.

Робимо запас для верхнього поля макета

Коли панель дій в режимі накладання, то може приховуватися дещо з макета, що повинне залишатися видимим. Щоб переконатися, що такі предмети залишаються нижче панелі дій весь час, додайте запас або відступ у верхній частині вигляду (-ів), задавши висоту через actionBarSize. Наприклад:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="?android:attr/actionBarSize">
    ...
</RelativeLayout>

Якщо використовуєте Support Library для панелі дій, то повинні видалити префікс android: Наприклад:
<!-- Support library compatibility -->
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingTop="?attr/actionBarSize">
    ...
</RelativeLayout>

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

Новини

  • SDR в IoT

    iotSDR пропонує платформу розробок для IoT-радіо та мережевих доменів. На платі два передавачі Microchip AT86RF215, для вводу-виводу модему на Xilinx ZYNQ SoC, приймач GNSS MAX2769 для GPS, Galileo, BieDou та Glonass. Плата сумісна з ПЗ GNURadio SDR. Дозволяє розробити протоколи фізичного рівня LoRa, SigFox, WightLess, Bluetooth, BLE, 802.15.4, ZigBee тощо для IoT, або шлюз IoT через TheThingsNetwork, LPWAN або Google Thread. Пам'ять EEPROM: 1x AT24MAC602 , flash-пам'ять: 1x QSPI 128 Мб, RAM: 256 MБ DDR3,слот для Micro SD карти, входи/виходи: 2x 8-бітних інтерфейси PL, інтерфейс 8-бітного PS, Gigabit Ethernet, USB 2.0 (USB3310), USB 2.0 (CP2104), 2x SMA RF-роз'єми для приймача діапазонів IoT, 2x SMA RF-роз'єми для приймача 2,4 ГГц , RF-роз'єм приймач GNSS, FPGA-роз'єм JTAG для програмування. Розміри плати: 76,2 мм x 101,6 мм.

     

    in Новини

Записатися на курс