Flutter 功能发现 - DescribedFeatureOverlay for BottomNavigationBarItems

Flutter feature discovery - DescribedFeatureOverlay for BottomNavigationBarItems

我正在使用版本为 ^0.12.1 的包 feature_discovery。为了显示功能发现叠加层,我需要使用 DescribeFeatureOverlay 包装 BottomNavigationBarItem。但是 BottomNavigationBar 的项目需要 BottomNavigationBarItem 类型的列表:

Scaffold(
      [...]
      bottomNavigationBar: BottomAppBar(
        [...]
        child: BottomNavigationBar(
          [...]
          items: [
            DescribedFeatureOverlay( // This does not work because items requires type BottomNavigationBarItem
              [...]
              child: BottomNavigationBarItem(
                icon: Icon(item.icon),
                label: item.title,
              ),
            ),
          ],
        ),
      ),
    );

有效代码如下:

Scaffold(
  [...]
  bottomNavigationBar: BottomAppBar(
    [...]
    child: BottomNavigationBar(
      [...]
      items: [
        BottomNavigationBarItem( // need to wrap this with DescribedFeatureOverlay
          icon: Icon(item.icon),
          label: item.title,
        ),
      ],
    ),
  ),
);

我已经尝试了很长时间来找到解决这个问题的方法。 如何用 DescribeFeatureOverlay 包装 BottomNavigationBarItem? 这是 Flutter 的限制还是有办法做到这一点?

我是否需要复制、扩展和修改 BottomNavigationBar class 并使用它来实现此目的?

作为解决方法,您可以包装 BottomNavigationBarItem 的图标小部件 像那样

 BottomNavigationBarItem(
            icon: DescribedFeatureOverlay(
              featureId: item.featureId,
              title: Text(item.title),
              description: Text(item.description),
              backgroundColor: item.color,
              tapTarget: Icon(item.icon),
              child: Icon(item.icon),
            ),
            label: item.title,
          );