Flutter 颤振:将图标与中间-底部导航栏对齐
我有一个底部导航栏在我的颤振应用程序。如何将图标与中间对齐。目前,它似乎是顶部对齐Flutter 颤振:将图标与中间-底部导航栏对齐,flutter,Flutter,我有一个底部导航栏在我的颤振应用程序。如何将图标与中间对齐。目前,它似乎是顶部对齐 Widget _bottomNavigationBar(int selectedIndex) { return BottomNavigationBar( backgroundColor: Palette.YELLOW, onTap: (int index) { setState(() { userModel.selectedIndex = ind
Widget _bottomNavigationBar(int selectedIndex) {
return BottomNavigationBar(
backgroundColor: Palette.YELLOW,
onTap: (int index) {
setState(() {
userModel.selectedIndex = index;
});
},
currentIndex: userModel.selectedIndex,
items: <BottomNavigationBarItem>[
BottomNavigationBarItem(
icon: Image.asset(
"assets/images/search_nav_icon.png",
),
title: Text(''),
),
BottomNavigationBarItem(
icon: Image.asset(
"assets/images/fav_nav_icon.png",
),
],
);
}
Widget\u底部导航栏(int-selectedIndex){
返回底部导航栏(
背景颜色:调色板。黄色,
onTap:(int索引){
设置状态(){
userModel.selectedIndex=索引;
});
},
currentIndex:userModel.selectedIndex,
项目:[
底部导航气压计(
图标:Image.asset(
“资产/图像/搜索导航图标.png”,
),
标题:文本(“”),
),
底部导航气压计(
图标:Image.asset(
“assets/images/fav_nav_icon.png”,
),
],
);
}
一个简单的解决方案是使用列包装BottomNavigationBar小部件。 并设置
mainAxisAlignment:mainAxisAlignment.center
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget> [
BottomNavigationBar(...)
]
);
返回列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
底部导航栏(…)
]
);
一定有更好的方法可以做到这一点,但我发现这项技术非常有用。一个简单的解决方案是使用列包装BottomNavigationBar小部件。 并设置
mainAxisAlignment:mainAxisAlignment.center
return Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget> [
BottomNavigationBar(...)
]
);
返回列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
底部导航栏(…)
]
);
一定有更好的方法可以做到这一点,但我发现这项技术非常有用。用
容器包装每个图标
,并将其对齐
属性设置为对齐。居中
现在用一个扩展的小部件包装每个容器
,并在行小部件的帮助下水平分组
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget> [
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),),
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),),
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),)
]
)
行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),),
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),),
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),)
]
)
您可以根据自己的方便增加/减少
扩展的
小部件的数量,但请确保不要在扩展的
小部件上包装任何其他单子小部件使用容器
包装每个图标,并将其对齐
属性设置为对齐.center
现在用一个扩展的小部件包装每个容器
,并在行小部件的帮助下水平分组
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget> [
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),),
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),),
Expanded(child: Container(alignment:Alignment.center,child: Icon([...]),),)
]
)
行(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),),
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),),
展开(子对象:容器(对齐方式:对齐.中心,子对象:图标([…]),),)
]
)
您可以根据自己的方便增加/减少
扩展的
小部件的数量,但请确保不要在扩展的
小部件上包装任何其他单子小部件,这在使用图标且没有文本时对我有效
返回底部导航栏(
showSelectedLabels:false,
showUnselectedLabel:false,
// ...
)当使用图标而没有文本时,这对我很有效 返回底部导航栏( showSelectedLabels:false, showUnselectedLabel:false, // ...
);简单解决方案位于底部导航栏中使用以下属性:
showSelectedLabels: false,
showUnselectedLabels: true,
简单解决方案位于底部导航栏中使用以下属性:
showSelectedLabels: false,
showUnselectedLabels: true,