Flutter InteractiveViewer child 在平移出视图时不可点击

问题描述 投票:0回答:0

我对 flutter 和 dart 很陌生。 我正在尝试使用 GraphView 库绘制树视图。我能够生成树,而且平移效果很好。 主要问题是树节点必须是可点击的,但是一旦树扩展到超过主窗口大小,“外部”节点就不再可点击了。

为了更好地解释这是树。向右平移后,绿线是 initState 视图的右边距。这条线左边的所有节点都是可触摸的,而右边的节点都是不可触摸的。

我为显示此视图而生成的代码如下:

Widget build(BuildContext context) {
    return InteractiveViewer(
      clipBehavior: Clip.none,
      panEnabled: true,
      minScale: 0.35,
      maxScale: 1,
      boundaryMargin: EdgeInsets.all(double.infinity),
      child: OverflowBox(
        alignment: Alignment.center,
        minWidth: 0.0,
        minHeight: 0.0,
        maxWidth: double.infinity,
        maxHeight: double.infinity,
        child: GraphView(
            algorithm: BuchheimWalkerAlgorithm(
              builder,
              TreeEdgeRenderer(builder),
            ),
            graph: graph,
            paint: Paint()
              ..color = Colors.green
              ..strokeWidth = 1
              ..style = PaintingStyle.stroke,
            builder: (Node node) {
              int a = node.key!.value;
              if (a == 0) {
                return rectangleWidget("ROOT", a, NodeType.ROOT, 99);
              } else {
                AttackTreeNode attackTreeNode =
                    dataManager.rootNode.findNode(a);
                return rectangleWidget(
                    attackTreeNode.name, a, attackTreeNode.nodeType, attackTreeNode.score);
              }
            }),
      ),
    );
  }

感谢您的帮助!

flutter dart button overflow android-graphview
© www.soinside.com 2019 - 2024. All rights reserved.