29.05.2025
3 хвилин читання

Bottom Sheet в Android: як створити спливаючу панель

Bottom Sheet в Android

Якщо ти хоч раз створював спливаючі вікна Андроїд-додатків, то напевно знаєш, як складно зробити їх одночасно зручними та естетичними. Саме для таких завдань Android пропонує Bottom Sheet – гнучкий і потужний інструмент для створення нижніх панелей. У цій статті ми детально розберемо, що це таке і як його використовувати, щоб він не просто працював, а став справжньою окрасою твого додатка. А докладні курси з андроїд-розробки ти зможеш знайти на сайті компанії FoxmindEd.

🚀 Готові зануритися у світ Android з нашим онлайн-курсом? 👉 Сміливо переходьте до реєстрації 👇👇👇👇👇
Реєстрація

Що таке Bottom Sheet в Android

Основне поняття Bottom Sheet

Це елемент користувацького інтерфейсу, який з’являється знизу екрана і може займати різну частину простору. Його головна мета – надання інформації або дій без необхідності залишати поточний екран. Він адаптується під контент і забезпечує плавний користувацький досвід.

Різновиди Bottom Sheet: постійний і модальний

Є два типи Bottom Sheet в Android:

  1. Persistent Bottom Sheet – постійна панель, яку завжди видно на екрані. Вона часто використовується для відображення навігації або списку завдань.
  2. Modal Bottom Sheet – спливаюче вікно, яке з’являється тільки за запитом користувача. Наприклад, для вибору зі списку або виконання дії.

Вибір між цими типами залежить від сценарію використання.

Чому варто використовувати Bottom Sheet в Android-додатках

Поліпшення інтерфейсу користувача

Користувачі люблять, коли інтерфейс простий і логічний. Bottom Sheet допомагає приховати складні елементи або дії, які не повинні бути видні постійно. Це робить застосунок не тільки зручнішим, а й візуально чистішим.

Зручність для навігації та взаємодії

Налаштування нижньої панелі Андроїд допомагає мінімізувати переходи між екранами. Панель можна використовувати для відображення меню, фільтрів або списку дій. Це прискорює взаємодію і робить її більш інтуїтивною.

Як створити Bottom Sheet: покрокова інструкція

Налаштування проекту для роботи з Bottom Sheet

Для початку переконайся, що підключив бібліотеку Material Design:

implementation 'com.google.android.material:material:1.x.x'

Ця бібліотека містить усі необхідні компоненти і без неї тобі не обійтися при створенні спливаючих вікон у додатках Андроїд.

Використання стандартних бібліотек Android

Найпростіший спосіб додати Bottom Sheet – використовувати BottomSheetDialogFragment. Приклад:

class MyBottomSheetFragment : BottomSheetDialogFragment() {

    override fun onCreateView(

        inflater: LayoutInflater, container: ViewGroup?,

        savedInstanceState: Bundle?

    ): View? {

        return inflater.inflate(R.layout.fragment_bottom_sheet, container, false)

    }

}

Створення користувацької нижньої панелі (Custom Bottom Sheet)

Якщо тобі потрібно щось більш унікальне, можна створити кастомну панель за допомогою BottomSheetBehavior:

val bottomSheet = findViewById<View>(R.id.bottom_sheet)

val behavior = BottomSheetBehavior.from(bottomSheet)

behavior.state = BottomSheetBehavior.STATE_COLLAPSED

Додай власний XML-макет для кастомізації:

<LinearLayout

    android:id="@+id/bottom_sheet"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

    app:behavior_peekHeight="100dp"

    app:layout_behavior="com.google.android.material.bottomsheet.BottomSheetBehavior">

    <!-- Your content -->

</LinearLayout>

Налаштування та макет нижнього аркуша

Як налаштувати розміри та стиль панелі

Для налаштування висоти панелі можна використовувати атрибут app:behavior_peekHeight в XML або змінити його програмно. Наприклад, щоб панель займала 50% екрана, у коді можна використовувати:

behavior.peekHeight = resources.displayMetrics.heightPixels / 2

Анімації для плавної взаємодії

Анімації роблять інтерфейс “живим”. Для більшого ефекту можна використовувати Interpolator:

behavior.addBottomSheetCallback(object : BottomSheetBehavior.BottomSheetCallback() {

    override fun onSlide(view: View, slideOffset: Float) {

        //Add your own effects

    }

    override fun onStateChanged(view: View, newState: Int) {

        // Reaction to state changes

    }

})

Поради щодо дизайну інтерфейсу з Bottom Sheet

  • Використовуй контрастні кольори для акцентів.
  • Не перевантажуй панель кнопками.
  • Додай тіні, щоб створити відчуття “спливання”.

Приклади використання Bottom Sheet у додатках

Bottom Sheet для відображення меню дій

Типовий приклад – меню “Поділитися”, де користувач обирає, куди відправити контент. Це швидше, ніж переходити на окремий екран.

Застосування панелі для відображення додаткової інформації

Дуже добре підходить для відображення додаткової інформації, яка може бути корисною, але не критичною для основного екрана. Наприклад, це може бути докладний опис товару в інтернет-магазині або відображення маршрутів у застосунку для виклику таксі.

Підпишіться на наш Ютуб-канал! Корисні відео для програмістів чекають на вас! YouTube
Оберіть свій курс програмування! Шлях до кар’єри програміста починається тут! Подивитись

Найкраща практика роботи з Bottom Sheet

Оптимізація продуктивності

Під час роботи з довгими списками всередині Bottom Sheet важливо використовувати RecyclerView. Це допоможе уникнути лагів і гальм, забезпечивши плавне прокручування і завантаження даних у міру необхідності.

Помилки, яких варто уникати

  • Не показуй занадто багато контенту.
  • Уникай конфліктів з іншими жестами екрана.

Поради для підвищення зручності користувача

  • Додай можливість закривати панель свайпом.
  • Зроби адаптивну висоту для різних пристроїв.
FAQ
Це елемент інтерфейсу, який з'являється знизу екрана і надає інформацію або дії без зміни екрана.
Існують два типи: постійний (Persistent) і модальний (Modal). Перший завжди видно, другий - з'являється за запитом.
Він робить інтерфейс чистішим, покращує навігацію і прискорює взаємодію з користувачем.
Найпростіше використовувати BottomSheetDialogFragment зі стандартної бібліотеки Material Design.
Так, за допомогою BottomSheetBehavior і власного XML-макету можна створити унікальний дизайн.
Не перевантажуй панель, уникай конфліктів із жестами та забезпеч адаптивність для різних пристроїв.

Хочете дізнатися більше про Bottom Sheet в Android? Задайте своє питання або поділіться коментарем нижче! 🤔👇

Додати коментар

Ваш імейл не буде опубліковано. Обов'язкові поля відзначені *

Зберегти моє ім'я, імейл та адресу сайту у цьому браузері для майбутніх коментарів