Моя задача — объявить сообщение об ошибке, которое появляется сразу после того, как я нажимаю кнопку «Отправить».
Кроме этого , сообщение об ошибке не может получить фокус, поэтому фокус остается на кнопке, пока двусторонняя связь читает сообщение об ошибке.
Я не уверен, возможно ли это.
Код: Выделить всё
@Composable
fun Feature(modifier: Modifier = Modifier) {
var isError = false
if (isError) {
Column {
Text(text = "Error message to be announced")
}
}
Button(modifier = Modifier.semantics {
contentDescription = "Submit button "
},
onClick = { isError = true }) {
Text(text = "Submit")
}
}
Хорошо, я нашел в Compose функцию LiveRegionMode, которая в основном делает что я хочу. К сожалению, это работает только в первый раз.
Код: Выделить всё
Text(
text = "state.value",
modifier = Modifier
.focusable()
.clearAndSetSemantics {
this.contentDescription = state.value
liveRegion = LiveRegionMode.Polite
}
)
}
Button(onClick = { state.value = "${Math.random().toInt()} value" }) {
Text(text = "Click me")
}
Подробнее здесь: https://stackoverflow.com/questions/786 ... sing-on-it
Мобильная версия