mirror of
https://github.com/mihonapp/mihon.git
synced 2025-06-25 10:37:51 +02:00
Use TextFieldState in BasicTextField where applicable (#1201)
Co-authored-by: p
This commit is contained in:
@ -16,6 +16,8 @@ import androidx.compose.foundation.lazy.rememberLazyListState
|
||||
import androidx.compose.foundation.shape.RoundedCornerShape
|
||||
import androidx.compose.foundation.text.BasicTextField
|
||||
import androidx.compose.foundation.text.KeyboardOptions
|
||||
import androidx.compose.foundation.text.input.TextFieldLineLimits
|
||||
import androidx.compose.foundation.text.input.TextFieldState
|
||||
import androidx.compose.material3.MaterialTheme
|
||||
import androidx.compose.material3.Text
|
||||
import androidx.compose.runtime.Composable
|
||||
@ -25,6 +27,7 @@ import androidx.compose.runtime.mutableIntStateOf
|
||||
import androidx.compose.runtime.mutableStateOf
|
||||
import androidx.compose.runtime.remember
|
||||
import androidx.compose.runtime.rememberCoroutineScope
|
||||
import androidx.compose.runtime.saveable.rememberSaveable
|
||||
import androidx.compose.runtime.setValue
|
||||
import androidx.compose.runtime.snapshotFlow
|
||||
import androidx.compose.ui.Alignment
|
||||
@ -37,7 +40,6 @@ import androidx.compose.ui.text.TextRange
|
||||
import androidx.compose.ui.text.TextStyle
|
||||
import androidx.compose.ui.text.input.ImeAction
|
||||
import androidx.compose.ui.text.input.KeyboardType
|
||||
import androidx.compose.ui.text.input.TextFieldValue
|
||||
import androidx.compose.ui.text.style.TextAlign
|
||||
import androidx.compose.ui.unit.DpSize
|
||||
import androidx.compose.ui.unit.dp
|
||||
@ -141,9 +143,9 @@ private fun <T> WheelPicker(
|
||||
|
||||
var showManualInput by remember { mutableStateOf(false) }
|
||||
if (showManualInput) {
|
||||
var value by remember {
|
||||
val value = rememberSaveable(saver = TextFieldState.Saver) {
|
||||
val currentString = items[internalIndex].toString()
|
||||
mutableStateOf(TextFieldValue(text = currentString, selection = TextRange(currentString.length)))
|
||||
TextFieldState(initialText = currentString, initialSelection = TextRange(currentString.length))
|
||||
}
|
||||
|
||||
val scope = rememberCoroutineScope()
|
||||
@ -164,9 +166,8 @@ private fun <T> WheelPicker(
|
||||
showManualInput = false
|
||||
}
|
||||
},
|
||||
value = value,
|
||||
onValueChange = { value = it },
|
||||
singleLine = true,
|
||||
state = value,
|
||||
lineLimits = TextFieldLineLimits.SingleLine,
|
||||
keyboardOptions = KeyboardOptions(
|
||||
keyboardType = manualInputType!!,
|
||||
imeAction = ImeAction.Done,
|
||||
|
Reference in New Issue
Block a user