Jetpack Compose实现带清除按钮的文本框


Jetpack Compose实现带清除按钮的文本框

使用trailingIcon参数可在尾部添加一个自定义图标,并实现点击功能。

@Composable
fun TextFieldWithClean() {
    Column {
        var text by remember { mutableStateOf("") }
        val isVisible by remember { derivedStateOf { text.isNotBlank() } }

        OutlinedTextField(
            value = text,
            label = { Text("User Name") },
            onValueChange = { text = it },
            trailingIcon = {
                if (isVisible) {
                    IconButton(onClick = { text = "" }) {
                        Icon(
                            imageVector = Icons.Default.Clear, 
                            contentDescription = "Clear"
                        )
                    }
                }
            }
        )
    }
}

文章作者: Vinx
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Vinx !
 上一篇
Jetpack Compose组件-文本域(TextField) Jetpack Compose组件-文本域(TextField)
Jetpack Compose组件-文本域(TextField) 基础文本域(BasicTextField) @Composable fun BasicTextField( // 文本域的值 value: TextFi
下一篇 
Jetpack Compose组件-布局(Box.Column.Row) Jetpack Compose组件-布局(Box.Column.Row)
Jetpack Compose组件-布局(Box.Column.Row) 堆叠布局(Box) Box 是一个能够将里面的子项依次按照顺序堆叠的布局组件。 @Composable inline fun Box( // 修饰符
  目录