From 57b02ce74a10f2efab7ef337cf8fbb808a9ae975 Mon Sep 17 00:00:00 2001 From: Fabian Zobrist Date: Fri, 1 Sep 2023 10:56:25 +0200 Subject: [PATCH] Fix keyboard not hidden. --- .../tichucounter/ui/counter/KeyboardView.kt | 51 ++++++++++--------- 1 file changed, 28 insertions(+), 23 deletions(-) diff --git a/app/src/main/java/me/zobrist/tichucounter/ui/counter/KeyboardView.kt b/app/src/main/java/me/zobrist/tichucounter/ui/counter/KeyboardView.kt index 32fd620..85880a6 100644 --- a/app/src/main/java/me/zobrist/tichucounter/ui/counter/KeyboardView.kt +++ b/app/src/main/java/me/zobrist/tichucounter/ui/counter/KeyboardView.kt @@ -33,6 +33,7 @@ import androidx.compose.material3.Surface import androidx.compose.material3.Text import androidx.compose.material3.TextField import androidx.compose.runtime.Composable +import androidx.compose.runtime.CompositionLocalProvider import androidx.compose.runtime.getValue import androidx.compose.runtime.remember import androidx.compose.ui.Alignment @@ -43,6 +44,7 @@ import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.focus.onFocusChanged import androidx.compose.ui.graphics.vector.ImageVector import androidx.compose.ui.platform.LocalConfiguration +import androidx.compose.ui.platform.LocalTextInputService import androidx.compose.ui.text.style.TextAlign import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp @@ -290,37 +292,40 @@ fun CenteredTextField( } Box(contentAlignment = Alignment.Center) { - TextField( - value = value, - onValueChange = { }, - placeholder = { - if (!focused) { - Text( - placeholder, - textAlign = TextAlign.Center, - modifier = Modifier.fillMaxWidth() - ) - } - }, - textStyle = LocalTextStyle.current.copy(textAlign = TextAlign.Center), - singleLine = true, - readOnly = true, - modifier = modifier - .fillMaxWidth() - .onFocusChanged { - onFocusStateChanged(it) - } - ) + CompositionLocalProvider(LocalTextInputService provides null) { + TextField( + value = value, + onValueChange = { }, + placeholder = { + if (!focused) { + Text( + placeholder, + textAlign = TextAlign.Center, + modifier = Modifier.fillMaxWidth() + ) + } + }, + textStyle = LocalTextStyle.current.copy(textAlign = TextAlign.Center), + singleLine = true, + readOnly = true, + modifier = modifier + .fillMaxWidth() + .onFocusChanged { + onFocusStateChanged(it) + } + ) + } + if (focused) { val cursorColor = MaterialTheme.colorScheme.onSurface - val infiniteTransition = rememberInfiniteTransition() + val infiniteTransition = rememberInfiniteTransition(label = "blinkingCursor") val alpha by infiniteTransition.animateFloat( 0f, cursorColor.alpha, animationSpec = infiniteRepeatable( animation = tween(500), repeatMode = RepeatMode.Reverse - ) + ), label = "blinkingCursor" ) Row {