Если вы используете шаблон материала по умолчанию с панелью приложений по умолчанию и открываете приложение с помощью TalkBack, фокус специальных возможностей автоматически перемещается к первому элементу на панели приложений (обычно это кнопка «Назад»).
Я бы хотел, чтобы моя панель приложений была выше, чем стандартная, поэтому я создал собственный и передал его в эшафот:
class CustomAppbar extends StatelessWidget implements PreferredSizeWidget {
@override
Widget build(BuildContext context) {
return Container(
height: 120,
child: Semantics(
focused: true,
child: RaisedButton(
child: Text('Test'),
onPressed: () {},
),
),
);
}
@override
Size get preferredSize => Size.fromHeight(120);
}
Widget build(BuildContext context) {
return Scaffold(
appBar: CustomAppbar(),
body: SafeArea(
child: Stack(children: <Widget>[
Column(children: <Widget>[
_buildContent(),
]),
]),
),
);
}
Проблема в том, , если я не использую AppBar по умолчанию, я не могу переместить фокус на первую кнопку , даже если я оберну его семантикой.
Как по умолчанию Scaffold обрабатывает автоматический c фокус? Я искал код и не нашел.