您的位置:首页 > 汽车 > 时评 > 广告设计公司制作_域名查询排行榜_免费男女打扑克的软件_网络seo推广培训

广告设计公司制作_域名查询排行榜_免费男女打扑克的软件_网络seo推广培训

2024/12/25 1:13:07 来源:https://blog.csdn.net/qq_44993558/article/details/144609277  浏览:    关键词:广告设计公司制作_域名查询排行榜_免费男女打扑克的软件_网络seo推广培训
广告设计公司制作_域名查询排行榜_免费男女打扑克的软件_网络seo推广培训

BottomNavigationBar 是Flutter中用于在屏幕底部显示导航栏的组件,它允许用户在几个主要视图之间进行切换。

参数

参数名类型描述
itemsList定义导航栏中的每个项目,通常包含图标和标签。
onTapValueChanged当用户点击导航栏中的项目时触发的回调函数,接收一个整数参数,表示被点击项目的索引。
currentIndexint指定当前选中的项目索引,默认值为0。
typeBottomNavigationBarType指定导航栏的类型,有 BottomNavigationBarType.fixedBottomNavigationBarType.shifting 两种。
iconSizedouble设置图标大小,默认值为24.0。
elevationdouble设置阴影的大小,默认值根据Material Design规范设置。
selectedFontSizedouble设置选中状态下标签文本的字体大小,默认值为14.0。
unselectedFontSizedouble设置未选中状态下标签文本的字体大小,默认值为12.0。
selectedIconThemeIconThemeData设置选中状态下的图标主题,如颜色、大小等。
unselectedIconThemeIconThemeData设置未选中状态下的图标主题,如颜色、大小等。
selectedLabelStyleTextStyle设置选中状态下的标签样式,如字体大小、颜色等。
unselectedLabelStyleTextStyle设置未选中状态下的标签样式,如字体大小、颜色等。
backgroundColorColor设置导航栏的背景颜色。
showSelectedLabelsbool控制是否显示选中状态下的标签文本,默认是显示的。
showUnselectedLabelsbool控制是否显示未选中状态下的标签文本,默认是显示的。
mouseCursorMouseCursor定义鼠标悬停在导航栏项目上时的光标样式,默认是系统默认光标。
landscapeLayoutBottomNavigationBarLandscapeLayout在横屏模式下定义底部导航栏的布局方式,默认值为 BottomNavigationBarLandscapeLayout.spread

示例代码

class _MyHomePageState extends State<MyHomePage> {int pageIndex = 0;//所有右侧行为按钮List<Widget> actionList = const [Icon(Icons.social_distance),SizedBox(width: 30,),Icon(Icons.cyclone),SizedBox(width: 30,),Icon(Icons.manage_accounts),SizedBox(width: 40,)];List<Widget> pageList = const [Text("首页"),Text("新增"),Text("用户"),];void floatBtnFunc() {debugPrint("点击了悬浮按钮");HapticFeedback.vibrate();}Widget build(BuildContext context) {return Scaffold(appBar: AppBar(//省略样式代码), //顶部栏body: Center(child: ListView(padding: const EdgeInsets.only(top: 15),children: [Row(children: [pageList[pageIndex]],)],),),floatingActionButton: FloatingActionButton(onPressed: floatBtnFunc, //点击事件tooltip: "悬浮按钮", //长按提示信息backgroundColor: Colors.blue, //背景颜色foregroundColor: Colors.white, // 内部组件颜色elevation: 10, //阴影shape: ShapeBorder.lerp(const CircleBorder(), const CircleBorder(), 0.5), //按钮形状mini: false, //是否小尺寸hoverColor: Colors.green, //悬浮颜色splashColor: Colors.yellow, //点击颜色focusColor: Colors.red, //获取焦点颜色autofocus: true, //是否自动获取焦点clipBehavior: Clip.hardEdge, //裁剪方式child: const Icon(Icons.info), // //按钮内部组件), //浮动按钮floatingActionButtonLocation:FloatingActionButtonLocation.centerDocked, //浮动按钮位置bottomNavigationBar: BottomNavigationBar(items: const <BottomNavigationBarItem>[BottomNavigationBarItem(icon: Icon(Icons.home), //图标label: "首页",  //标签tooltip: "首页",  //长按提示信息backgroundColor: Colors.blueAccent,  //背景颜色activeIcon: Icon(Icons.home_filled),  //选中图标),BottomNavigationBarItem(icon: Icon(Icons.add), label: "新增"),BottomNavigationBarItem(icon: Icon(Icons.verified_user), label: "用户"),], //底部导航栏currentIndex: pageIndex, //当前页面索引onTap: (index) {setState(() {pageIndex = index;});}, //点击事件type: BottomNavigationBarType.fixed, //导航栏的类型iconSize: 25,  //图标大小elevation: 20, //阴影selectedFontSize: 12, //选中字体大小unselectedFontSize: 12, //未选中字体大小selectedItemColor: Colors.blue, //选中颜色unselectedItemColor: Colors.black, //未选中颜色showUnselectedLabels: true, //是否显示未选中的标签selectedLabelStyle: const TextStyle(color: Colors.blue), //选中文本样式unselectedLabelStyle: const TextStyle(color: Colors.black), //未选中文本样式backgroundColor: const Color.fromARGB(255, 99, 255, 247),showSelectedLabels: true, //分别控制是否显示选中和未选中的标签文本,默认都是显示的),);}
}

效果

在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com