Saltearse al contenido

HorizontalUncontainedCarousel

Material 3
Demostración de un HorizontalUncontainedCarousel

Implementación

A partir de la versión 1.3.0 de compose podemos hacer uso del HorizontalUncontainedCarousel, un nuevo elemento que permite tener un carrusel con múltiples ítems.

Definición del componente

Terminal window
@ExperimentalMaterial3Api
@Composable
fun HorizontalUncontainedCarousel(
state: CarouselState,
itemWidth: Dp,
modifier: Modifier = Modifier,
itemSpacing: Dp = 0.dp,
flingBehavior: TargetedFlingBehavior = CarouselDefaults.noSnapFlingBehavior(),
contentPadding: PaddingValues = PaddingValues(0.dp),
content: @Composable CarouselItemScope.(itemIndex: Int) -> Unit
)
AtributoDescripción
stateCarouselState. Se utiliza para controlar el estado del componente.
itemWidthEl ancho de cada ítem del carrusel.
modifierModificador que aplicará al composable.
itemSpacingEs el espacio que existirá entre cada ítem.
flingBehaviorTargetedFlingBehavior. Es la clase que define el comportamiento del desplazamiento.
contentPaddingEs el espacio que se agregará alrededor del contenido. Puede ser usado para agregar espacio antes del primer ítem y después del último.

CarouselState

Terminal window
@ExperimentalMaterial3Api
@Composable
fun rememberCarouselState(
initialItem: Int = 0,
itemCount: () -> Int,
)

Ejemplos

Demostración de un HorizontalUncontainedCarousel

Demostración de un HorizontalUncontainedCarousel

Terminal window
HorizontalUncontainedCarousel(
state = state,
itemWidth = 250.dp,
itemSpacing = 10.dp,
modifier = Modifier.height(300.dp)
) { page ->
Box(
modifier =
Modifier
.padding(10.dp)
.background(Color.Blue)
.fillMaxSize()
.height(100.dp),
contentAlignment = Alignment.Center
) {
Text(text = page.toString(), fontSize = 32.sp, color = Color.White)
}
}