From 5aaa3e325d791bef06f9c7c9addcbb18d6845c52 Mon Sep 17 00:00:00 2001 From: Thomas Andres Gomez Date: Wed, 29 Mar 2023 16:43:57 +0200 Subject: [PATCH] Clean focus / hide keyboard on detail --- .../com/pixelized/biblib/ui/screen/home/HomeScreen.kt | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/com/pixelized/biblib/ui/screen/home/HomeScreen.kt b/app/src/main/java/com/pixelized/biblib/ui/screen/home/HomeScreen.kt index edb8012..cfed385 100644 --- a/app/src/main/java/com/pixelized/biblib/ui/screen/home/HomeScreen.kt +++ b/app/src/main/java/com/pixelized/biblib/ui/screen/home/HomeScreen.kt @@ -20,12 +20,15 @@ import androidx.compose.material.icons.filled.Person import androidx.compose.material.icons.filled.Search import androidx.compose.runtime.* import androidx.compose.ui.Alignment +import androidx.compose.ui.ExperimentalComposeUiApi import androidx.compose.ui.Modifier import androidx.compose.ui.draw.clip import androidx.compose.ui.graphics.Color import androidx.compose.ui.layout.ContentScale import androidx.compose.ui.platform.LocalContext +import androidx.compose.ui.platform.LocalFocusManager import androidx.compose.ui.platform.LocalLayoutDirection +import androidx.compose.ui.platform.LocalSoftwareKeyboardController import androidx.compose.ui.res.painterResource import androidx.compose.ui.res.stringResource import androidx.compose.ui.tooling.preview.Preview @@ -70,7 +73,7 @@ sealed class HomeScreenErrorUio( ) } -@OptIn(ExperimentalMaterialApi::class) +@OptIn(ExperimentalMaterialApi::class, ExperimentalComposeUiApi::class) @Composable fun HomeScreen( bookViewModel: BookSearchViewModel = hiltViewModel(), @@ -80,6 +83,8 @@ fun HomeScreen( val context = LocalContext.current val navigation = LocalScreenNavHostController.current val snackBarHost = LocalSnackHostState.current + val focus = LocalFocusManager.current + val keyboard = LocalSoftwareKeyboardController.current val detailState: DetailBottomSheetState = rememberDetailBottomSheetState() val filterState: FilterBottomSheetState = rememberFilterBottomSheetState() val sortingState: SortBottomSheetState = rememberSortBottomSheetState() @@ -144,6 +149,8 @@ fun HomeScreen( microListState = microListState, microList = bookViewModel.microPaging, onBook = { + focus.clearFocus(force = true) + keyboard?.hide() scope.launch { detailState.expandBookDetail(id = it) }