mirror of
https://github.com/mihonapp/mihon.git
synced 2024-11-07 20:31:02 -05:00
Fix WheelPicker Manual Input (#1209)
Some checks failed
CI / Build app (push) Has been cancelled
Some checks failed
CI / Build app (push) Has been cancelled
* Fix WheelPicker Manual Input * Lambda * inline * Update WheelPicker.kt --------- Co-authored-by: AntsyLich <59261191+AntsyLich@users.noreply.github.com>
This commit is contained in:
parent
223af5508f
commit
339dc33f58
1 changed files with 15 additions and 13 deletions
|
@ -149,23 +149,25 @@ private fun <T> WheelPicker(
|
|||
}
|
||||
|
||||
val scope = rememberCoroutineScope()
|
||||
val processManualInput: () -> Unit = {
|
||||
scope.launch {
|
||||
items
|
||||
.indexOfFirst { it.toString() == value.text }
|
||||
.takeIf { it >= 0 }
|
||||
?.apply {
|
||||
internalOnSelectionChanged(this)
|
||||
lazyListState.scrollToItem(this)
|
||||
}
|
||||
showManualInput = false
|
||||
}
|
||||
}
|
||||
|
||||
BasicTextField(
|
||||
modifier = Modifier
|
||||
.align(Alignment.Center)
|
||||
.showSoftKeyboard(true)
|
||||
.clearFocusOnSoftKeyboardHide {
|
||||
scope.launch {
|
||||
items
|
||||
.indexOfFirst { it.toString() == value.text }
|
||||
.takeIf { it >= 0 }
|
||||
?.apply {
|
||||
internalOnSelectionChanged(this)
|
||||
lazyListState.scrollToItem(this)
|
||||
}
|
||||
|
||||
showManualInput = false
|
||||
}
|
||||
},
|
||||
.clearFocusOnSoftKeyboardHide(processManualInput),
|
||||
onKeyboardAction = { processManualInput() },
|
||||
state = value,
|
||||
lineLimits = TextFieldLineLimits.SingleLine,
|
||||
keyboardOptions = KeyboardOptions(
|
||||
|
|
Loading…
Reference in a new issue