【发布时间】:2019-06-15 10:11:20
【问题描述】:
我花了 3 周时间寻找如何将辅助功能事件与 dart 一起使用,有人得到了什么吗?我在文档中没有找到任何内容
【问题讨论】:
-
这不准确
我花了 3 周时间寻找如何将辅助功能事件与 dart 一起使用,有人得到了什么吗?我在文档中没有找到任何内容
【问题讨论】:
可通过Semantics 小部件提供辅助功能信息。 Material 和 Cupertino 库中的大多数小部件已经提供相关语义,例如将MaterialButtons 标识为按钮等。 Semantics 小部件仅在您使用原始布局或画家创建自己的小部件时才是必需的。
例如,假设您想制作自己的按钮并从 Text 小部件和手势检测器开始。
Widget build(_) {
return Container(
child: GestureDetector(
onTap: () { ... }
child: Text('MY BUTTON'),
)
);
}
这将包含来自Text 和GestureDetector 小部件的一些语义信息。在运行应用程序时,如果启用了 TalkBack 或 VoiceOver,则可以按S(大写“S”)打印当前语义树。
[ +6 ms] I/flutter ( 6511): SemanticsNode#0
[ ] I/flutter ( 6511): │ Rect.fromLTRB(0.0, 0.0, 1080.0, 1794.0)
[ ] I/flutter ( 6511): │
[ ] I/flutter ( 6511): └─SemanticsNode#1
[ ] I/flutter ( 6511): Rect.fromLTRB(0.0, 0.0, 79.0, 16.0) with transform
[ ] I/flutter ( 6511): [2.625,0.0,0.0,436.3125; 0.0,2.625,0.0,876.0; 0.0,0.0,1.0,0.0;
[ ] I/flutter ( 6511): 0.0,0.0,0.0,1.0]
[ ] I/flutter ( 6511): actions: tap
[ ] I/flutter ( 6511): label: "MY BUTTON"
[ ] I/flutter ( 6511): textDirection: ltr
在这种情况下,要将其明确标识为按钮,您可以使用 Semantics 小部件包装小部件并提供 button: true 和 container: true。
Widget build(_) {
return Semantics(
container: true,
button: true,
child: Container(
child: GestureDetector(
onTap: () { ... }
child: Text('MY BUTTON'),
)
)
);
}
【讨论】:
不,我的意思是可访问性事件,以自动化我的 Gizmo 并在未来在 Flutter 上制作团队查看器
发送点击等。
【讨论】:
查看此链接。它在颤振中引入了可访问性桥,可用于实现您想要的。
https://api.flutter.dev/javadoc/io/flutter/view/AccessibilityBridge.html
【讨论】: