Элемент Snackbar
Важно!
В этой статье описаны функциональные возможности общедоступной ознакомительной версии, а также инструкции по ее использованию. Сведения могут быть существенно изменены, прежде чем версия станет общедоступной. Майкрософт не дает никаких гарантий, явных или подразумеваемых, в отношении предоставленной здесь информации.
Обзор
SnackbarContainer
— это пользовательский FrameLayout с дочерним элементом CoordinatorLayout, который можно использовать в качестве контейнера для Snackbar.
Этот контейнер поддерживает возможность складывания и может использоваться не только на складных, но и на обычных устройствах. Сообщение будет отображаться каждый раз в нижней части экрана на фиксированном расстоянии в 25 пикселей от краев экрана.
Используя информацию из WindowManager, этот контейнер перемещает дочерний элемент CoordinatorLayout туда, куда нужно разработчику: на первый экран, на второй экран или на весь экран. Для других сценариев можно использовать непосредственно Snackbar
.
Импорт библиотеки в проект
Убедитесь, что у вас есть репозиторий
mavenCentral()
в файле build.gradle верхнего уровня:allprojects { repositories { google() mavenCentral() } }
Добавьте эту зависимость в файл build.gradle на уровне модуля:
dependencies { implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2" }
Если проект создан с помощью Java, необходимо добавить зависимость kotlin-stdlib в файл build.gradle на уровне модуля (это связано с тем, что библиотека Snackbar была создана с помощью Kotlin).
dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version" }
Отображение Snackbar в режиме двойного экрана
После добавления пакета выполните следующие действия, чтобы реализовать Snackbar в режиме двойного экрана:
Добавьте
SnackbarContainer
в нижней частиActivity
или корневого представленияFragment
:<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" <com.microsoft.device.dualscreen.snackbar.SnackbarContainer android:id="@+id/snackbar_container" android:layout_width="match_parent" android:layout_height="wrap_content" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>
С помощью экземпляра
SnackbarContainer
можно отобразитьSnackbar
, используя этот фрагмент кода. ПараметрsnackbarContainer
— это экземплярSnackbarContainer
, параметрmessage
— отображаемый текст, а параметрLENGTH_LONG
— длительность отображения. Функцияshow
— это функция расширения, используемая для отображенияSnackbar
внутриSnackbarContainer
в заданной позиции.
SnackbarPosition
Возможные значения для параметра position
:
SnackbarPosition.START
SnackbarPosition.END
SnackbarPosition.BOTH
Подробности приведены ниже.
SnackbarPosition.START
Snackbar будет отображаться в нижней части первой области отображения:
SnackbarPosition.END
Snackbar будет отображаться во второй области отображения:
SnackbarPosition.BOTH
Snackbar будет отображаться в нижней части всей области отображения:
Образец
Чтобы увидеть все эти режимы, вы можете просмотреть код примера приложения с элементом Snackbar.