Fan*_*dez 5 android android-jetpack-compose
我有这个 TextFied 可组合项,同时包含KeyboardOptions
和KeyboardActions
。
@Composable
fun TodoInputText(...) {
val keyboardController = LocalSoftwareKeyboardController.current
TextField( ....
onValueChange = onTextChanged,
keyboardOptions = KeyboardOptions.Default.copy(imeAction = ImeAction.Done),
keyboardActions = KeyboardActions(onDone = {
onImeAction()
keyboardController?.hide()
}))}
Run Code Online (Sandbox Code Playgroud)
TextField 正在与 Done Action 配合使用,但只要 TextFied 为空,我就需要在键盘上禁用 Done ImeAction,如此 GIF 所示
我已经提取了一个状态来检查 TextField 是否为空。
@Composable
fun TodoItemEntryInput(...) {
//hold state for TextField
val (text, setText) = remember { mutableStateOf("") }
val isTextBlank = text.isNotBlank()
//declare lambda function submit that handles a submit event when done is pressed
val submitAction = { .... }
TodoItemInput(
text = text,
onTextChange = setText,
submitAction = submitAction,
)}
Run Code Online (Sandbox Code Playgroud)
现在我的问题是,每当文本为空时,如何使用isTextBlank
状态来禁用或灰显 Done ImeAction。这是为了避免用户输入空白文本时出现错误 - 我发现输入验证对于这种情况不是非常理想。
归档时间: |
|
查看次数: |
989 次 |
最近记录: |