Android 带有背景形状和后退按钮的自定义工具栏

Android 带有背景形状和后退按钮的自定义工具栏,android,dart,flutter,Android,Dart,Flutter,我正在制作带有背景形状的自定义工具栏,但我的后退按钮正在与文本正确对齐 Widget _toolBar(String headerText){ return Container( decoration: BoxDecoration( color: MyColors.greenHeader, borderRadius: new BorderRadius.only(

我正在制作带有背景形状的自定义工具栏,但我的后退按钮正在与文本正确对齐

   Widget _toolBar(String headerText){

        return Container(
          decoration: BoxDecoration(
              color: MyColors.greenHeader,
              borderRadius: new BorderRadius.only(
                  bottomLeft: const Radius.circular(15.0),
                  bottomRight: const Radius.circular(15.0))
          ),
          child:Center(child:  Stack(
            children: <Widget>[

              Row(
                mainAxisAlignment: MainAxisAlignment.start,
                mainAxisSize: MainAxisSize.max,
                children: <Widget>[
                  Expanded(
                    flex: 1,
                    child:Text(headerText,
                        textAlign: TextAlign.center,
                        style: TextStyle(
                          color: Colors.white,
                          fontSize: 18.0,
                        )
                    ),),
                ],),

              Row(
                mainAxisAlignment: MainAxisAlignment.start,
                mainAxisSize: MainAxisSize.max,
                children: <Widget>[
                  Flexible(
                    flex: 1,
                    child:IconButton(
                      icon: new Icon(Icons.arrow_back_ios),
                      color: Colors.white,
                      onPressed: (){},
                    )
                    ),
                ],),

            ],
          ),)
        );
    }
您可以尝试将文本和图标按钮小部件居中

你可以这样试试

appBar: PreferredSize(
    preferredSize: Size(null, 100),
    child: Container(
      width: MediaQuery.of(context).size.width,
      height: 100,
      child: ClipRRect(
        borderRadius: BorderRadius.only(
            bottomLeft: Radius.circular(15),
            bottomRight: Radius.circular(15)
        ),
        child: Container(
          color: Colors.green,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Icon(Icons.navigate_before,size: 40,),
              Text("Center",style: TextStyle(fontSize: 30),),
              Icon(Icons.navigate_before,color: Colors.transparent,),
            ],
          ),
        ),
      ),
    ),
  ),

能否添加用于调用_toolBar的代码?@diegoveloper查看我的更新代码。您是否尝试将两行的crossAxisAlignment设置为crossAxisAlignment.center?仍然无效
    Stack(
                children: <Widget>[
                  Center(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.start,
                      mainAxisSize: MainAxisSize.max,
                      children: <Widget>[
                        Expanded(
                          flex: 1,
                          child: Text(headerText,
                              textAlign: TextAlign.center,
                              style: TextStyle(
                                color: Colors.white,
                                fontSize: 18.0,
                              )),
                        ),
                      ],
                    ),
                  ),
                  Center(
                    child: Row(
                      mainAxisAlignment: MainAxisAlignment.start,
                      mainAxisSize: MainAxisSize.max,
                      children: <Widget>[
                        Flexible(
                            flex: 1,
                            child: IconButton(
                              icon: new Icon(Icons.arrow_back_ios),
                              color: Colors.white,
                              onPressed: () {},
                            )),
                      ],
                    ),
                  ),
                ],
              ),
appBar: PreferredSize(
    preferredSize: Size(null, 100),
    child: Container(
      width: MediaQuery.of(context).size.width,
      height: 100,
      child: ClipRRect(
        borderRadius: BorderRadius.only(
            bottomLeft: Radius.circular(15),
            bottomRight: Radius.circular(15)
        ),
        child: Container(
          color: Colors.green,
          child: Row(
            mainAxisAlignment: MainAxisAlignment.spaceBetween,
            children: <Widget>[
              Icon(Icons.navigate_before,size: 40,),
              Text("Center",style: TextStyle(fontSize: 30),),
              Icon(Icons.navigate_before,color: Colors.transparent,),
            ],
          ),
        ),
      ),
    ),
  ),