@Composable
fun HelloContent() {
Column(modifier = Modifier.padding(16.dp)) {
var name by remember { mutableStateOf("")}
if (name.isNotEmpty()) {
Text(
text = "Hello, $name!",
modifier = Modifier.padding(bottom = 8.dp),
style = MaterialTheme.typography.h5
)
}
OutlinedTextField(
value = name,
onValueChange = {name = it},
label = { Text(text = "name")}
)
}
}
name定义为mutableStateOf的“” string类型的变量,并通过by remember修饰。
可以做到保存值的状态,动态修改值,并更新ui。
代码中将name的值设置成edittext的it值的时候,name的值会跟着变化,name的值变化的时候,就会通知使用name值的地方变化,代码中的if(name.isNotEmpty)就会走一次,里面的text的值也跟着变化。OutlinedTextField的输入框里面的值value也会变化。