I'd like to restrict what the user can type in a TextField in Jetpack Compose. How do I do that?
The equivalent in xml is inputType
:
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="number"
android:hint="Only numbers please!" />
Use KeyboardOptions:
TextField(
keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number)
You can use something like:
TextField(
....,
keyboardOptions =
KeyboardOptions.Default.copy(keyboardType = KeyboardType.Number)
)
Ty like this KeyboardOptions
var textShopName by remember { mutableStateOf("") }
OutlinedTextField(
keyboardOptions = KeyboardOptions(
capitalization = KeyboardCapitalization.None,
autoCorrect = true,
keyboardType = KeyboardType.Number,
imeAction = ImeAction.Next
),
value = textShopName,
onValueChange = { textShopName = it },
label = { Text("Shop Name") },
modifier = Modifier
.padding(start = 16.dp, end = 16.dp, top = 20.dp)
.fillMaxWidth(),
)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With