Как озвучить текст, не акцентируя на нем внимание?Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Как озвучить текст, не акцентируя на нем внимание?

Сообщение Anonymous »

Поэтому я работаю над функцией специальных возможностей.
Моя задача — объявить сообщение об ошибке, которое появляется сразу после того, как я нажимаю кнопку «Отправить».
Кроме этого , сообщение об ошибке не может получить фокус, поэтому фокус остается на кнопке, пока двусторонняя связь читает сообщение об ошибке.
Я не уверен, возможно ли это.

Код: Выделить всё

@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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»