Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 颤振:将图标与中间-底部导航栏对齐_Flutter - Fatal编程技术网

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,