我花了3周时间学习如何在dart中使用可访问性事件,有没有人有什么发现?我在文档中没有找到任何东西
发布于 2019-01-22 11:22:36
可访问性信息可以通过Semantics小部件提供。Material和库比蒂诺库中的大多数小部件都已经提供了相关的语义,比如MaterialButton标识为一个按钮等等。只有在使用原始布局或绘制器创建自己的小部件时,才需要使用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在本例中,要明确地将其标识为一个按钮,您可以用一个提供button: true和container: true的Semantics小部件包装您的小部件。
Widget build(_) {
return Semantics(
container: true,
button: true,
child: Container(
child: GestureDetector(
onTap: () { ... }
child: Text('MY BUTTON'),
)
)
);
}发布于 2019-01-24 02:13:44
不,我指的是可访问性事件,使我的gizmo自动化,并在将来使teamviewer on flutter
发送点击,等。
发布于 2020-03-31 08:45:09
请查看此链接。它在flutter中引入了可访问性桥,可以用来实现你想要的东西。
https://api.flutter.dev/javadoc/io/flutter/view/AccessibilityBridge.html
https://stackoverflow.com/questions/54299818
复制相似问题