CodeField

fun CodeField(modifier: Modifier = Modifier, style: CodeFieldStyle = LocalCodeFieldStyle.current, codeLength: Int = 4, hidden: Boolean = false, isItemValid: (String) -> Boolean = { true }, onCodeComplete: (String) -> Boolean = { true }, caption: String? = null, captionAlignment: CodeFieldCaptionAlignment = CodeFieldCaptionAlignment.Center, enabled: Boolean = true, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, animationSpec: AnimationSpec<Float>? = rememberShakeAnimationSpec(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, motion: Motion<CodeFieldMotionStyle> = rememberCodeFieldMotion( motionContext = rememberMotionContext(interactionSource = interactionSource), ))

Компонент CodeField представляет собой горизонтальный ряд текстовых полей. Каждое поле вмещает в себя один символ, введеный с клавиатуры.

После каждого ввода символа происходит автоматический переход к следующему. После заполнения всех символов, если код верный, осуществляется автоматических переход к следующему действию. Если код неверный - значения в полях сбрасываются и ввод осуществляется снова с первого символа.

Заполнение полей возможно только по порядку. Если требуется вернуться назад к одному из символов - необходимо удалить все впереди стоящие символы тоже.

Parameters

modifier

модификатор

style

стиль компонента

codeLength

длина кода (количество символов)

hidden

показывает закрашенные точки, если true. Если false - вводимые символы.

isItemValid

колбэк, определяющий корректность введенного символа

onCodeComplete

колбэк, оповещающий об окончании ввода. Должен вернуть true если код верный, false - в противном случае.

caption

надпись

captionAlignment

выравнивание надписи

enabled

включено ли поле ввода

keyboardOptions
keyboardActions
animationSpec

настройки анимации смещения элементов и всего поля при неправильном вводе

interactionSource

источник взаимодействий