Improve note widget unfocusing

This commit is contained in:
MM20 2023-06-12 16:26:22 +02:00
parent 24564855aa
commit 068967e6b4
No known key found for this signature in database
GPG Key ID: 0B61A8F2DEAFA389

View File

@ -19,6 +19,7 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.FocusRequester
import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.focusRequester
import androidx.compose.ui.focus.onFocusChanged
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import androidx.compose.ui.graphics.SolidColor import androidx.compose.ui.graphics.SolidColor
import androidx.compose.ui.text.AnnotatedString import androidx.compose.ui.text.AnnotatedString
@ -55,10 +56,12 @@ fun MarkdownEditor(
} }
if (focus) { if (focus) {
var hadFocus by remember { mutableStateOf(false) }
LaunchedEffect(Unit) { LaunchedEffect(Unit) {
focusRequester.requestFocus() focusRequester.requestFocus()
} }
BasicTextField( BasicTextField(
value = value, value = value,
onValueChange = { onValueChange = {
@ -101,7 +104,12 @@ fun MarkdownEditor(
) )
} }
}, },
modifier = modifier.focusRequester(focusRequester), modifier = modifier
.focusRequester(focusRequester)
.onFocusChanged {
if (it.isFocused) hadFocus = true
if (!it.isFocused && hadFocus) onFocusChange(false)
},
textStyle = MaterialTheme.typography.bodyMedium.copy( textStyle = MaterialTheme.typography.bodyMedium.copy(
color = LocalContentColor.current, color = LocalContentColor.current,
), ),