From 46b9a3e696e5a9f9d220e086ef8a1b0282bda1d8 Mon Sep 17 00:00:00 2001 From: Yogesh Choudhary Paliyal Date: Fri, 29 Oct 2021 21:43:03 +0530 Subject: [PATCH 1/3] Remove focus from fields on share as Image --- .../noty/composeapp/ui/screens/NoteDetailsScreen.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/ui/screens/NoteDetailsScreen.kt b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/ui/screens/NoteDetailsScreen.kt index a39ef66e..469a5274 100644 --- a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/ui/screens/NoteDetailsScreen.kt +++ b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/ui/screens/NoteDetailsScreen.kt @@ -18,6 +18,7 @@ package dev.shreyaspatil.noty.composeapp.ui.screens import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.background +import androidx.compose.foundation.focusable import androidx.compose.foundation.gestures.Orientation import androidx.compose.foundation.gestures.scrollable import androidx.compose.foundation.layout.Column @@ -41,6 +42,8 @@ import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier +import androidx.compose.ui.focus.FocusRequester +import androidx.compose.ui.focus.focusRequester import androidx.compose.ui.graphics.Color import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.res.painterResource @@ -75,6 +78,10 @@ fun NoteDetailsScreen( navController: NavHostController, viewModel: NoteDetailViewModel ) { + + val focusRequester = remember { + FocusRequester() + } val context = LocalContext.current val updateState = viewModel.updateNoteState.collectAsState(initial = null) @@ -88,6 +95,9 @@ fun NoteDetailsScreen( var captureNoteImageRequestKey: Int? by remember { mutableStateOf(null) } Scaffold( + modifier = Modifier + .focusRequester(focusRequester) + .focusable(true), topBar = { TopAppBar( title = { @@ -134,6 +144,7 @@ fun NoteDetailsScreen( ShareActionItem( label = "Image", onActionClick = { + focusRequester.requestFocus() captureNoteImageRequestKey = Random.nextInt(Int.MAX_VALUE) } ), From 7a301af4b08c33fa0823fa8217e79663a1fa8c27 Mon Sep 17 00:00:00 2001 From: Yogesh Choudhary Paliyal Date: Fri, 29 Oct 2021 21:49:42 +0530 Subject: [PATCH 2/3] Increase touch region area for Input fields --- .../noty/composeapp/component/text/CommonTextField.kt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt index 6d646f74..0f61ccba 100644 --- a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt +++ b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt @@ -19,6 +19,7 @@ package dev.shreyaspatil.noty.composeapp.component.text import androidx.compose.animation.AnimatedVisibility import androidx.compose.animation.ExperimentalAnimationApi import androidx.compose.foundation.layout.Box +import androidx.compose.foundation.layout.fillMaxWidth import androidx.compose.foundation.layout.padding import androidx.compose.foundation.text.BasicTextField import androidx.compose.material.MaterialTheme @@ -81,6 +82,7 @@ fun BasicNotyTextField( ) } BasicTextField( + modifier = Modifier.fillMaxWidth(), value = value, onValueChange = onTextChange, textStyle = textStyle.copy(color = MaterialTheme.colors.onPrimary), From 0ee9f1bc41ac4c8d8b8c829c4de47a3b83423a75 Mon Sep 17 00:00:00 2001 From: Yogesh Choudhary Paliyal Date: Sat, 30 Oct 2021 18:16:20 +0530 Subject: [PATCH 3/3] Send Medifier for BasicTextField in BasicNotyTextField --- .../noty/composeapp/component/text/CommonTextField.kt | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt index 0f61ccba..d0f6c3ea 100644 --- a/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt +++ b/noty-android/app/composeapp/src/main/java/dev/shreyaspatil/noty/composeapp/component/text/CommonTextField.kt @@ -69,7 +69,8 @@ fun BasicNotyTextField( label: String = "", textStyle: TextStyle = TextStyle(fontSize = 16.sp, fontWeight = FontWeight.Normal), onTextChange: (String) -> Unit, - maxLines: Int = Int.MAX_VALUE + maxLines: Int = Int.MAX_VALUE, + textFieldModifier: Modifier = Modifier ) { Box(modifier = modifier.padding(4.dp)) { @@ -82,7 +83,7 @@ fun BasicNotyTextField( ) } BasicTextField( - modifier = Modifier.fillMaxWidth(), + modifier = textFieldModifier.fillMaxWidth(), value = value, onValueChange = onTextChange, textStyle = textStyle.copy(color = MaterialTheme.colors.onPrimary),