Flutter 如果第二个子项位于屏幕宽度的中心,我如何制作一个具有2个子项的100%父项宽度的行

Flutter 如果第二个子项位于屏幕宽度的中心,我如何制作一个具有2个子项的100%父项宽度的行,flutter,Flutter,如果我有一排有两个孩子。如何使行占据其父行宽度的100%,并且第二个子行位于该行的中心?因此,在其父对象宽度的50%处。这是我到目前为止所做的,但现在两个孩子都在这一行的左边对齐。我希望设置位于该行的中心 @override Widget build(BuildContext context) { return Scaffold( backgroundColor: Theme.of(context).backgroundColor, body: Paddi

如果我有一排有两个孩子。如何使行占据其父行宽度的100%,并且第二个子行位于该行的中心?因此,在其父对象宽度的50%处。这是我到目前为止所做的,但现在两个孩子都在这一行的左边对齐。我希望设置位于该行的中心

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      backgroundColor: Theme.of(context).backgroundColor,
      body: Padding(
          padding: EdgeInsets.all(20.0),
          child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: 
          [ 
            Expanded(
              flex: 1,
              child: Row
              (
                children: [
                  Align(
                    alignment: Alignment.topLeft,
                    child: NavigatePopButton(),
                  ),
                  Spacer(),
                  Align
                  (
                    alignment: Alignment.topCenter,
                    child: Text
                    (
                      'Settings',
                      style: Theme.of(context).textTheme.title,
                      overflow: TextOverflow.visible,
                    ),
                  ),
                  Spacer(),
                ],
              )
            ),
            Expanded(
              flex: 4,
              child: MediaQuery.removePadding(
                context: context,
                removeTop: true,
                child: ListView.separated(
                  itemCount: 3,
                  separatorBuilder: (BuildContext context, int index) => Divider(height: 1.0), 
                  itemBuilder: (BuildContext context, int index){
                      return ListTile(
                        title: Text('Setting ' + index.toString()),
                      );
                  }       
                ),
              ),
            ),
          ]
        ),
      ),
    );
  }
}
你可以试试这个

在行项目上使用扩展的小部件,这将强制它们使用最大宽度

将第二个子对象的对齐方式也设置为左上角

工具书类 试着在文本周围添加内容

孩子:排 儿童:[ 排列 对齐:alignment.topLeft, 孩子:导航按钮, , 垫片, 排列 对齐:alignment.topCenter, 子:文本 “设置”, 样式:Theme.ofcontext.textTheme.title, 溢出:TextOverflow.visible, , , 垫片, ], 如果你想要的是你提供的。为什么还要使用Row,为什么不试试这个呢

Stack(
    children: <Widget>[
      Align(
        alignment: Alignment.topLeft,
        child: NavigatePopButton(),
      ),
      Align
      (
        alignment: Alignment.topCenter,
        child: Text
        (
          'Settings',
          style: Theme.of(context).textTheme.title,
          overflow: TextOverflow.visible,
        ),
      ),
    ],
  ),


您想要的结果的示例图像会很有帮助。添加图像当两个展开的图像都占据屏幕宽度的50%时,会产生一个结果。在屏幕的右半部分开始对齐设置。我想让设置完全在中间,当我试图使它成为一个栈,我得到一个错误,家长不能扩大,这是什么?没关系!它忘了拆下垫片!这是正确的答案!很高兴它有帮助!
Stack(
    children: <Widget>[
      Align(
        alignment: Alignment.topLeft,
        child: NavigatePopButton(),
      ),
      Align
      (
        alignment: Alignment.topCenter,
        child: Text
        (
          'Settings',
          style: Theme.of(context).textTheme.title,
          overflow: TextOverflow.visible,
        ),
      ),
    ],
  ),