小编Chr*_*ore的帖子

如何将 Flutter 小部件划分为语义树中的单独节点

我创建了一个自定义小部件来表示 a 中的图块ListView,下面包含其示例。该图块包含一个Inkwell,以便可以点击它。该图块还包含一个MaterialButton. 我已相应地包装了所有内容Semantics,但每当启用 Talkback 并点击该图块时,整个图块都会突出显示。这使得里面的按钮无法点击。

如何将每个节点Widget视为Semantics树中的单个节点?文档MergeSemanticshttps://api.flutter.dev/flutter/widgets/MergeSemantics-class.html)似乎暗示Widgets应该单独处理,除非它们包装在MergeSemantics.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: ListView(
          children: [Tile()],
        ),
      ),
    );
  }
}

class Tile extends StatelessWidget {
  @override
  Widget build(BuildContext context) => Padding(
        padding: EdgeInsets.only(top: 12),
        child: …
Run Code Online (Sandbox Code Playgroud)

accessibility flutter

2
推荐指数
1
解决办法
1405
查看次数

标签 统计

accessibility ×1

flutter ×1