如何解决在自定义的底部导航菜单中添加SVG
美好的一天。我需要在自定义图标之间粘贴svg图像。 在Flutter中自定义BottomNavigationBarItem。 我无法在自定义图标之间粘贴图像。 怎么做,
我的代码
class NavBarCustomer extends StatefulWidget {
@override
_NavBarCustomerState createState() => _NavBarCustomerState();
}
class _NavBarCustomerState extends State<NavBarCustomer> {
int _itemIndex = 0;
final List<Widget> _pages = [
HomeScreenCustomer(),AllRequests(),NewRequest(),NotificationPage(),MainSettings(),];
@override
Widget build(BuildContext context) {
return Scaffold(
body: _pages[_itemIndex],bottomNavigationBar: BottomNavigationBar(
backgroundColor: Colors.white,selectedItemColor: Color(0xFF606060),unselectedItemColor: Color(0x80606060),type: BottomNavigationBarType.fixed,items: <BottomNavigationBarItem>[
navBarItem('Главная',index: 0,icon: CustomIcons.home,firstColor: Color(0xFF02EFFD),secondColor: Color(0xFF48AFFD)),navBarItem('Мои заявки',index: 1,icon: Icons.check_circle_outline,firstColor: Color(0xFF34F8DA),secondColor: Color(0xFF43E980),badgeCounter: 0),navBarItem('',iconImage: Image.asset('assets/images/adding-icon.png')),navBarItem('Уведомления',index: 3,icon: CustomIcons.notification,firstColor: Color(0xFFFFBCDE),secondColor: Color(0xFFFC337C),navBarItem('Настройки',index: 4,icon: CustomIcons.settings,firstColor: Color(0xFFA3D5FF),secondColor: Color(0xFF6581D2)),],currentIndex: _itemIndex,onTap: (index) => setState(() {
_itemIndex = index;
}),),);
}
BottomNavigationBarItem navBarItem(String title,{int badgeCounter = 0,IconData icon,Image iconImage,double iconSize,Color firstColor,Color secondColor,int index}) {
return BottomNavigationBarItem(
title: Text(title,style: TextStyle(
color: Color(
0xFF606060 - ((index == _itemIndex) ? 0 : 0x90000000)),fontSize: 11.w,fontWeight: FontWeight.w500))
.padding(EdgeInsets.only(top: 7.w)),icon: Stack(
alignment: Alignment.topRight,children: <Widget>[
Opacity(
opacity: (index == _itemIndex) ? 1 : 0.5,child: RoundedGradientIcon(
iconSize: iconSize,firstColor: firstColor,secondColor: secondColor,icon: icon,radius: 30.w,Visibility(
visible: badgeCounter != 0,child: Container(
padding: EdgeInsets.all(1.w),height: 15.w,width: 15.w,alignment: Alignment.center,child: AutoSizeText(
badgeCounter.toString(),minFontSize: 6,style: TextStyle(
fontSize: 10.w,color: Colors.white,fontWeight: FontWeight.bold),decoration: BoxDecoration(
color: Color(0xFFFF0000),borderRadius: BorderRadius.circular(100),
粘贴图像时,写入错误“无法将参数类型'Image'分配给参数类型'IconData'。”
请帮助。谢谢。
解决方法
尝试使用ImageIcon代替IconData。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。