Skip to content
This repository was archived by the owner on Mar 28, 2025. It is now read-only.

Conversation

@mhrohani1385
Copy link

Usation :

// Year Picker
InfiniteItemPicker(value = year, onValueChange = {
    year = it
}, infiniteGetter = InfiniteGetter(
    itemGetter = { index ->
        index + 2023
    }, inverseGetter = { value ->
        value - 2023
    }
)

```
InfiniteItemPicker(value = year, onValueChange = {
                    year = it
                }, infiniteGetter = InfiniteGetter(
                    itemGetter = { index ->
                        index + 2023
                    }, inverseGetter = { value ->
                        value - 2023
                    }
                )
```
@Gidrodinamika43
Copy link

@Composable
fun RingNumberPicker(
    modifier: Modifier = Modifier,
    label: (Int) -> String = {
        it.toString()
    },
    value: Int,
    onValueChange: (Int) -> Unit,
    dividersColor: Color = MaterialTheme.colorScheme.primary,
    range: IntRange,
    textStyle: TextStyle = LocalTextStyle.current,
){

    val min = Math.min(range.first, range.last)
    val max = Math.max(range.first, range.last) + 1
    val count = max - min

    InfiniteItemPicker(
        modifier = modifier,
        label = label,
        value = value,
        onValueChange = onValueChange,
        dividersColor = dividersColor,
        textStyle = textStyle,
        infiniteGetter = InfiniteGetter(
            itemGetter = { (it + min)%max },
            inverseGetter = { (it - min)%count + count }
        )
    )
}

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants