如何在flutter中移除或增加NavigationBar中所选项目的装饰?
NavigationBar(
elevation: 0,
selectedIndex: navIndex,
onDestinationSelected: (index) => setState(() {
navIndex = index;
}),
backgroundColor: Colors.transparent,
labelBehavior: NavigationDestinationLabelBehavior.alwaysHide,
destinations: const [
NavigationDestination(
icon: Text('Your subscriptions'),
label: '',
),
NavigationDestination(
icon: Text('Upcoming bills'),
label: '',
),
],
),
装饰意象
3条答案
按热度按时间rslzwgfq1#
通常,NavigationDestination图标必须是Icon()小部件。但对你来说是短信。这就是文本超出突出显示区域的原因。
图标将使用“NavigationBarThemeData.iconTheme”,如果“NavigationBarThemeData”不存在,图标将使用“IconThemeData”。在这两种情况下,我都找不到改变高亮区域大小的方法。
你可以做这样的事情,它会做的工作,但不是那么顺利。
xxls0lw82#
如果您使用的是BottomNavigationBar,则可以使用此选项更改导航栏中内容的颜色、文本样式和字体大小。
vhmi4jdf3#
通过添加NavigationBarThemeData().copyWith并为所选对象提供透明的十六进制值,解决了同样的问题
生成的nav看起来像这样