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

Infinite Number Picker#16

Open
mhrohani1385 wants to merge 2 commits intoChargeMap:masterfrom
mhrohani1385:master
Open

Infinite Number Picker#16
mhrohani1385 wants to merge 2 commits intoChargeMap:masterfrom
mhrohani1385:master

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