Carousel
Компонент карусели с горизонтальной прокруткой, поддерживающий индикаторы страниц, навигационные кнопки и различные варианты отображения.
Карусель предоставляет удобный интерфейс для пролистывания контента с возможностью кастомизации внешнего вида, поведения и навигации. Поддерживает как программное управление через PagerState, так и пользовательское взаимодействие.
Пример использования:
val state = rememberPagerState(pageCount = { items.size })
Carousel(
state = state,
hasIndicator = true,
hasControls = true
) { page ->
Card { Text(items[page]) }
}Parameters
состояние карусели, управляющее текущей страницей и прокруткой. Создается через rememberPagerState с указанием количества страниц.
модификатор для настройки внешнего вида и поведения карусели.
стиль карусели, определяющий внешний вид индикаторов, кнопок и их расположение. По умолчанию берется из LocalCarouselStyle.
внутренние отступы контента карусели от её границ. Позволяет создать эффект "отступов" по краям.
промежуток между соседними элементами карусели. По умолчанию берется из стиля карусели.
размер страницы относительно видимой области. Может быть PageSize.Fill (на всю ширину), PageSize.Fixed (фиксированный размер)
позиция привязки страницы после прокрутки. Определяет, какая часть страницы будет привязана к началу/центру/концу.
флаг отображения индикатора страниц (точек внизу карусели).
флаг отображения навигационных кнопок "вперед/назад".
максимальное количество отображаемых точек-индикаторов. При большем количестве страниц индикатор сворачивается.
количество страниц, загружаемых за пределами видимой области. Влияет на производительность и плавность прокрутки.
вертикальное выравнивание контента внутри карусели. Полезно при разной высоте элементов.
поведение при "броске" прокрутки (быстром пролистывании). По умолчанию используется стандартное поведение из PagerDefaults.flingBehavior.
разрешает или запрещает прокрутку пользователем. При false карусель можно листать только программно.
инвертирует направление прокрутки. При true элементы располагаются справа налево.
функция для генерации стабильных ключей страниц. Помогает Compose правильно идентифицировать элементы при изменениях.
обработка вложенной прокрутки. По умолчанию обеспечивает корректную работу карусели внутри прокручиваемых контейнеров.
эффект при достижении границ карусели. По умолчанию rememberOverscrollEffect для визуальной обратной связи.
композируемая функция для отображения содержимого каждой страницы. Вызывается с индексом страницы в качестве параметра.