【问题标题】:Flutter - shift focus to specific widgetFlutter - 将焦点转移到特定的小部件
【发布时间】:2019-04-26 15:51:14
【问题描述】:

我正在开发一款针对视障用户的 Flutter 应用。在用户使用编辑框搜索信息后,在我的应用程序中。该应用程序没有通知用户搜索已完成。

我愿意将焦点转移到搜索结果上,以便屏幕阅读器阅读它(对讲或旁白)。例如,在 Android 中,我可以使用:

View.requestFocus();

我正在寻找在颤振或自定义平台代码中执行相同操作的方法

【问题讨论】:

  • 你找到解决办法了吗?

标签: widget flutter focus flutter-layout


【解决方案1】:

您可以为此使用FocusNode。 查看示例代码here

【讨论】:

  • 这是为 TextEdit 小部件设计的,我正在寻找在 Text 小部件上使用此功能
【解决方案2】:

我想澄清一些误解。我在其他地方看到了 Aawaz Gyawali 解决方案的变体。这行不通。

Flutter 有两种类型的焦点。第一个是“输入焦点”。这决定了当前具有焦点的表单字段,这就是 FocusNode 处理的内容。

第二种类型的焦点是“辅助功能焦点”。这是 TalkBack / Voiceover 提供的框。它与“输入焦点”完全分开。您可以随心所欲地更改输入焦点,但可访问性焦点将保持不变。

我们无法改变 Flutter 中的可访问性焦点这一事实是一个巨大的疏忽,也是创建可访问应用程序的主要障碍。

编辑 为了完整起见,我确实找到了一个丑陋的解决方法。

如果您将焦点更改为表单字段,例如文本字段,则辅助功能焦点也会更新。

在我的例子中,我使用的 FlatButton 几乎没有附加任何样式。显然,你必须让那个按钮一些事情,但它至少能让你接近你想去的地方。

哈克?绝对可以,但我目前拥有的不是更好的选择。

【讨论】:

    猜你喜欢
    • 2012-11-17
    • 2019-05-31
    • 1970-01-01
    • 1970-01-01
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多