TP-00000 | Fixed Input Keyboard Flickering Issue (#201)
This commit is contained in:
@@ -22,7 +22,9 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.res.stringResource
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
@@ -44,7 +46,9 @@ import com.uitron.demo.theme.fontFamily
|
||||
fun Toolbar(viewModel: DazzleViewModel) {
|
||||
|
||||
val keyboardController = LocalSoftwareKeyboardController.current
|
||||
|
||||
val context = LocalContext.current
|
||||
val view = LocalView.current
|
||||
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically,
|
||||
modifier = Modifier
|
||||
@@ -74,7 +78,11 @@ fun Toolbar(viewModel: DazzleViewModel) {
|
||||
),
|
||||
keyboardActions = KeyboardActions(onSearch = {
|
||||
viewModel.applySearchOrFilter()
|
||||
keyboardController?.hide()
|
||||
KeyboardUtil.hideKeyboard(
|
||||
context = context,
|
||||
view = view,
|
||||
keyBoardController = keyboardController
|
||||
)
|
||||
}),
|
||||
modifier = Modifier
|
||||
.height(48.dp)
|
||||
@@ -97,7 +105,11 @@ fun Toolbar(viewModel: DazzleViewModel) {
|
||||
})
|
||||
Button(
|
||||
onClick = {
|
||||
keyboardController?.hide()
|
||||
KeyboardUtil.hideKeyboard(
|
||||
context = context,
|
||||
view = view,
|
||||
keyBoardController = keyboardController
|
||||
)
|
||||
viewModel.showBottomSheet(BottomSheetType.FilterBottomSheet) },
|
||||
shape = RoundedCornerShape(4.dp),
|
||||
colors = ButtonDefaults.buttonColors(
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.uitron.demo.dazzledesignsystem.ui
|
||||
|
||||
import KeyboardUtil
|
||||
import androidx.compose.foundation.Image
|
||||
import androidx.compose.foundation.background
|
||||
import androidx.compose.foundation.clickable
|
||||
@@ -18,7 +19,9 @@ import androidx.compose.ui.Alignment
|
||||
import androidx.compose.ui.ExperimentalComposeUiApi
|
||||
import androidx.compose.ui.Modifier
|
||||
import androidx.compose.ui.graphics.Color
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.font.FontWeight
|
||||
import androidx.compose.ui.unit.dp
|
||||
@@ -41,6 +44,8 @@ import com.uitron.demo.theme.fontFamily
|
||||
fun WidgetItemView(widgetTemplate: WidgetTemplate?, viewModel: DazzleViewModel) {
|
||||
|
||||
val keyboardController = LocalSoftwareKeyboardController.current
|
||||
val context = LocalContext.current
|
||||
val view = LocalView.current
|
||||
|
||||
val widgetData = widgetTemplate?.config?.widgetData?.let {
|
||||
try {
|
||||
@@ -79,7 +84,11 @@ fun WidgetItemView(widgetTemplate: WidgetTemplate?, viewModel: DazzleViewModel)
|
||||
modifier = Modifier
|
||||
.padding(top = 10.dp, end = 12.dp)
|
||||
.clickable {
|
||||
keyboardController?.hide()
|
||||
KeyboardUtil.hideKeyboard(
|
||||
context = context,
|
||||
view = view,
|
||||
keyBoardController = keyboardController
|
||||
)
|
||||
viewModel.showBottomSheet(
|
||||
BottomSheetType.ShareWidgetConfigBottomSheet, widgetTemplate
|
||||
)
|
||||
|
||||
@@ -16,6 +16,7 @@ import androidx.compose.ui.platform.ClipboardManager
|
||||
import androidx.compose.ui.platform.LocalClipboardManager
|
||||
import androidx.compose.ui.platform.LocalContext
|
||||
import androidx.compose.ui.platform.LocalSoftwareKeyboardController
|
||||
import androidx.compose.ui.platform.LocalView
|
||||
import androidx.compose.ui.res.painterResource
|
||||
import androidx.compose.ui.text.AnnotatedString
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
@@ -75,6 +76,8 @@ fun SearchField(
|
||||
modifier: Modifier, viewModel: DesignSystemVM
|
||||
) {
|
||||
val keyboardController = LocalSoftwareKeyboardController.current
|
||||
val context = LocalContext.current
|
||||
val view = LocalView.current
|
||||
|
||||
Row(
|
||||
verticalAlignment = Alignment.CenterVertically, modifier = modifier
|
||||
@@ -108,7 +111,13 @@ fun SearchField(
|
||||
keyboardOptions = KeyboardOptions(
|
||||
autoCorrect = false, imeAction = ImeAction.Search
|
||||
),
|
||||
keyboardActions = KeyboardActions(onSearch = { keyboardController?.hide() }),
|
||||
keyboardActions = KeyboardActions(onSearch = {
|
||||
KeyboardUtil.hideKeyboard(
|
||||
context = context,
|
||||
view = view,
|
||||
keyBoardController = keyboardController
|
||||
)
|
||||
}),
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
.background(color = Color.Transparent),
|
||||
|
||||
Reference in New Issue
Block a user