Класс KeyboardType
Класс KeyboardType из пакета
androidx.compose.ui.text.input
задаёт, какую клавиатуру показать при фокусе на поле.
Значение передают в
KeyboardOptions
параметром keyboardType
или напрямую в OutlinedTextField.
Синтаксис
KeyboardType.Email
Значения
| Значение | Описание |
|---|---|
Text |
Обычная текстовая клавиатура для прозы. |
Ascii |
Клавиатура только с ASCII символами. |
Number |
Цифровая клавиатура без десятичной точки. |
Phone |
Раскладка для набора телефонного номера. |
Uri |
Клавиатура с символами для адреса URI. |
Email |
Клавиатура с символом @ для электронной почты. |
Password |
Текстовая клавиатура для пароля, скрывает подсказки. |
NumberPassword |
Цифровая клавиатура для числового PIN. |
Decimal |
Цифры с десятичной точкой или запятой. |
По умолчанию в KeyboardOptions
стоит Text, если тип не указан.
Пример
Давайте запросим клавиатуру для электронной почты:
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.text.KeyboardOptions
import androidx.compose.material3.OutlinedTextField
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.runtime.setValue
import androidx.compose.ui.text.input.KeyboardType
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
var text by remember { mutableStateOf("abcde") }
OutlinedTextField(
value = text,
onValueChange = { text = it },
keyboardOptions = KeyboardOptions(
keyboardType = KeyboardType.Email,
),
)
}
}
}
На экране поле ввода, при фокусе клавиатура удобна для адреса с символом @.
Смотрите также
-
класс
KeyboardOptions,
который объединяет тип клавиатуры и imeAction -
перечисление
ImeAction,
которое задаёт клавишу действия на клавиатуре -
класс
PasswordVisualTransformation,
который скрывает символы пароля на экране -
функция
TextField,
которая принимает keyboardOptions у поля ввода