From e44cb1938cccd288401e1512404db4bc11a3b79e Mon Sep 17 00:00:00 2001 From: JIEUNI Date: Mon, 20 Jan 2025 02:48:25 +0900 Subject: [PATCH] =?UTF-8?q?[feat]=20#43=20=EC=97=94=ED=84=B0=20=ED=81=B4?= =?UTF-8?q?=EB=A6=AD=20=EC=8B=9C=20focus=20=ED=92=80=EB=A6=AC=EB=8F=84?= =?UTF-8?q?=EB=A1=9D=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../textfield/BbangZipBasicTextField.kt | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/app/src/main/java/org/android/bbangzip/presentation/component/textfield/BbangZipBasicTextField.kt b/app/src/main/java/org/android/bbangzip/presentation/component/textfield/BbangZipBasicTextField.kt index 6cb9e485..9b9fea5c 100644 --- a/app/src/main/java/org/android/bbangzip/presentation/component/textfield/BbangZipBasicTextField.kt +++ b/app/src/main/java/org/android/bbangzip/presentation/component/textfield/BbangZipBasicTextField.kt @@ -59,10 +59,15 @@ fun BbangZipBasicTextField( onFocusChange: (Boolean) -> Unit = { }, onDeleteButtonClick: () -> Unit = { }, keyboardOptions: KeyboardOptions = KeyboardOptions.Default.copy(imeAction = ImeAction.Default), - keyboardActions: KeyboardActions = KeyboardActions.Default, - focusManager: FocusManager + focusManager: FocusManager, + keyboardActions: KeyboardActions = KeyboardActions( + onDone = { + focusManager.clearFocus(force = true) + } + ), ) { var isFocused by remember { mutableStateOf(false) } + val focusRequester = remember { FocusRequester() } BbangZipTextFieldSlot( columnModifier = modifier, @@ -84,7 +89,7 @@ fun BbangZipBasicTextField( Modifier .weight(1f) .padding(start = 8.dp) - .focusRequester(FocusRequester()) + .focusRequester(focusRequester) .onFocusChanged { focusState -> isFocused = focusState.isFocused onFocusChange(focusState.isFocused) @@ -92,7 +97,7 @@ fun BbangZipBasicTextField( } .onKeyEvent { keyEvent -> if (keyEvent.key == Key.Enter && keyEvent.type == KeyEventType.KeyUp) { - focusManager.clearFocus() + focusManager.clearFocus(force = true) onFocusChange(false) true } else { @@ -104,7 +109,7 @@ fun BbangZipBasicTextField( if (it.length <= maxCharacter) onValueChange(it) }, keyboardActions = keyboardActions, - keyboardOptions = keyboardOptions, + keyboardOptions = keyboardOptions.copy(imeAction = ImeAction.Done), cursorBrush = SolidColor(BbangZipTheme.colors.labelNormal_282119), singleLine = true, textStyle = BbangZipTheme.typography.label1Medium, @@ -187,7 +192,7 @@ fun BbangZipBasicTextFieldPreview() { text = "" validationState = BbangZipTextFieldInputState.Default }, - focusManager = LocalFocusManager.current + focusManager = LocalFocusManager.current, ) } }