颤抖-将焦点转移到特定的小部件

时间:2018-11-24 09:15:08

标签: widget flutter focus flutter-layout

我正在开发针对视觉障碍用户的Flutter应用程序。在我的应用程序中,用户使用editbox搜索信息之后。该应用缺少通知用户搜索已完成的功能。

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

View.requestFocus();

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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

第二种焦点是“可访问性焦点”。这是“话语提示” /“旁白”显示的框。它与“输入焦点”完全分开。您可以随意更改输入焦点,但是该可访问性焦点将保持不变。

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

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

如果将焦点更改为表单字段(例如文本字段),则可访问性焦点也将更新。

在我的情况下,我使用的FlatButton几乎没有任何样式。显然,您必须使该按钮 do 起作用,但这至少会使您进入想要的位置。

强悍?绝对可以,但这是我目前所拥有的,而不是更好的选择。