Skip to content

//tvlib/org.mjdev.tvlib.ui.components.carousel

Package-level declarations

Types

Name Summary
CarouselDefaults [androidJvm]
object CarouselDefaults
CarouselState [androidJvm]
@Stable
class CarouselState(initialActiveItemIndex: Int = 0)
ModifierExt [androidJvm]
object ModifierExt

Functions

Name Summary
AutoScrollSideEffect [androidJvm]
@Composable
fun AutoScrollSideEffect(autoScrollDurationMillis: Long, itemCount: Int, carouselState: CarouselState, doAutoScroll: Boolean, onAutoScrollChange: (isAutoScrollActive: Boolean) -> Unit? = null)
BigCarousel [androidJvm]
@Composable
fun BigCarousel(modifier: Modifier = Modifier, items: List<Any?> = listOf(Unit, Unit, Unit), autoScrollDurationMillis: Long = 8000, carouselState: CarouselState = remember(items) { CarouselState() }, onItemSelected: (movie: Any?, fromUser: Boolean) -> Unit? = null, onItemClicked: (movie: Any?) -> Unit? = null, onSwipeUp: (dragAmount: Offset) -> Unit? = null, onSwipeDown: (dragAmount: Offset) -> Unit? = null)
Carousel [androidJvm]
@Composable
fun Carousel(modifier: Modifier = Modifier, itemCount: Int = 0, carouselState: CarouselState = remember(itemCount) { CarouselState() }, autoScrollDurationMillis: Long = CarouselDefaults.TimeToDisplayItemMillis, contentTransformStartToEnd: ContentTransform = CarouselDefaults.contentTransform, contentTransformEndToStart: ContentTransform = CarouselDefaults.contentTransform, carouselIndicator: @ComposableBoxScope.() -> Unit = { CarouselDefaults.IndicatorRow( itemCount = itemCount, activeItemIndex = carouselState.activeItemIndex, modifier = Modifier .align(Alignment.BottomEnd) .padding(16.dp), ) }, isAutoScrollActive: MutableState<Boolean> = remember(itemCount) { mutableStateOf(false) }, focusState: MutableState<FocusState> = remember(itemCount) { mutableStateOf(FocusHelper(false)) }, content: @ComposableAnimatedContentScope.(index: Int) -> Unit = {})
CarouselCard [androidJvm]
@Composable
fun CarouselCard(item: Any? = null, modifier: Modifier = Modifier, contentScale: ContentScale = ContentScale.Crop, scale: CardScale = CardScale.None, focused: Boolean = isEditMode(), focusState: MutableState<FocusState> = rememberFocusState( item, FocusHelper(focused) ), titlePadding: PaddingValues = PaddingValues(8.dp, 12.dp, 8.dp, 12.dp), onFocus: (item: Any?, fromUser: Boolean) -> Unit? = null, onClick: (item: Any?) -> Unit? = null)