如何在 jetpack Compose 中将输入类型设置为 Integer?

Hen*_*aro 9 textfield kotlin android-jetpack-compose

如何使TextField输入仅接受整数以及如何将位数限制为 2?

我已经将键盘设置如下,但这允许输入小数,我只需要正整数

keyboardOptions = KeyboardOptions(
    keyboardType = KeyboardType.Number
)
Run Code Online (Sandbox Code Playgroud)

Fra*_*esc 14

TextField本身不进行任何过滤,您必须使用其回调来进行过滤。例如,

AppTheme {
    var text by remember {
        mutableStateOf("")
    }
    Surface(modifier = Modifier.width(320.dp)) {
        TextField(
            value = text,
            onValueChange = { value ->
                if (value.length <= 2) {
                    text = value.filter { it.isDigit() }
                }
            }
        )
}
Run Code Online (Sandbox Code Playgroud)