为 BottomNavigationBarItem 的标签添加渐变
Add Gradient to Label of BottomNavigationBarItem
在我的 flutter 应用程序中,我有一个底部导航栏。
我想给选中的项目添加一个LinearGradient。
我设法使用 BottomNavigationBarItem 的 activeIcon
属性向图标添加渐变。
但是我不知道如何为项目的标签添加相同的渐变。
由于 BottomNavigationBarItem.title
已被弃用并且 BottomNavigationBarItem.label
只允许我添加一个字符串,所以我不能直接将渐变添加到标签。
我试过修改 BottomNavigationBar 的 selectedLabelStyle
但没有成功。
这是我的 BottomNavigationBar 外观的屏幕截图。
目前标签只有一种颜色。我希望它具有与图标相同的渐变。
有谁知道我怎样才能做到这一点?
非常感谢!
BottomNavigationBar(
onTap: onTabTapped,
currentIndex: _currentPage,
backgroundColor: context.appTheme.primaryBackgroundColor,
type: BottomNavigationBarType.fixed,
unselectedItemColor: context.appTheme.primaryTextColor,
showUnselectedLabels: true,
items: [
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.home_filled),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.home_filled),
label: 'Home',
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.search),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.search),
label: 'Search',
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.savings),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.savings),
label: 'Earnings'
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.volunteer_activism),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.volunteer_activism),
label: 'Sharing'
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.inventory_2),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.inventory_2),
label: 'My Items'
)
],
),
图标和活动图标也可以带一个列小部件。您可以用一列包裹图标并在其中添加相关文本并忽略标签。
在我的 flutter 应用程序中,我有一个底部导航栏。 我想给选中的项目添加一个LinearGradient。
我设法使用 BottomNavigationBarItem 的 activeIcon
属性向图标添加渐变。
但是我不知道如何为项目的标签添加相同的渐变。
由于 BottomNavigationBarItem.title
已被弃用并且 BottomNavigationBarItem.label
只允许我添加一个字符串,所以我不能直接将渐变添加到标签。
我试过修改 BottomNavigationBar 的 selectedLabelStyle
但没有成功。
这是我的 BottomNavigationBar 外观的屏幕截图。
有谁知道我怎样才能做到这一点?
非常感谢!
BottomNavigationBar(
onTap: onTabTapped,
currentIndex: _currentPage,
backgroundColor: context.appTheme.primaryBackgroundColor,
type: BottomNavigationBarType.fixed,
unselectedItemColor: context.appTheme.primaryTextColor,
showUnselectedLabels: true,
items: [
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.home_filled),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.home_filled),
label: 'Home',
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.search),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.search),
label: 'Search',
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.savings),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.savings),
label: 'Earnings'
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.volunteer_activism),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.volunteer_activism),
label: 'Sharing'
),
BottomNavigationBarItem(
activeIcon: GradientMask(
child: Icon(Icons.inventory_2),
gradient: context.appTheme.primaryGradient,
),
icon: Icon(Icons.inventory_2),
label: 'My Items'
)
],
),
图标和活动图标也可以带一个列小部件。您可以用一列包裹图标并在其中添加相关文本并忽略标签。