CodeInput

fun CodeInput(modifier: Modifier = Modifier, style: CodeInputStyle = LocalCodeInputStyle.current, codeLength: Int = 4, hidden: Boolean = false, isItemValid: (String) -> Boolean = { true }, onCodeComplete: (String) -> Boolean = { true }, caption: String? = null, captionAlignment: CodeInputCaptionAlignment = CodeInputCaptionAlignment.Center, enabled: Boolean = true, keyboardOptions: KeyboardOptions = KeyboardOptions.Default, keyboardActions: KeyboardActions = KeyboardActions.Default, animationSpec: AnimationSpec<Float>? = rememberShakeAnimationSpec(), hasItemFocusSelector: Boolean = LocalFocusSelectorSettings.current.isEnabled(), interactionSource: MutableInteractionSource = remember { MutableInteractionSource() }, motion: Motion<CodeInputMotionStyle> = rememberCodeInputMotion( motionContext = rememberMotionContext(interactionSource = interactionSource), ))

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

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

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

Parameters

modifier

модификатор

style

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

codeLength

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

hidden

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

isItemValid

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

onCodeComplete

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

caption

надпись

captionAlignment

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

enabled

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

keyboardOptions
keyboardActions
animationSpec

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

interactionSource

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