Flutter:如何获得对自定义应用栏的可访问性焦点

问题描述 投票:2回答:1

如果您将默认的Material脚手架与默认的应用程序栏一起使用,并使用“话语提示”打开您的应用程序,则可访问性焦点会自动移至应用程序栏中的第一项(通常是“后退”按钮)。

我希望我的应用栏比默认值高,所以我创建了一个自定义应用栏,并将其传递到支架上:

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,则无法将焦点移到第一个按钮上,即使我使用语义包装也是如此。

默认的脚手架如何处理自动聚焦?我已经在代码中搜索,找不到它。

flutter material-design accessibility talkback
1个回答
0
投票
因此flutter向我们提供了一个小部件PreferredSize,我们可以在其中重写其高度和宽度,我以此方式解决了我的问题
© www.soinside.com 2019 - 2024. All rights reserved.