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,
);
我正在使用版本为 ^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,
);