dart 如何更改文本位置

9wbgstp7  于 2023-04-03  发布在  其他
关注(0)|答案(2)|浏览(142)

嗨。如何更改文本位置。我想更改个人信息文本与名字一致。我尝试使用Widget填充,但不起作用。
密码

Container(
                        width: double.infinity,
                        color: Colors.white,
                        //margin: EdgeInsets.fromLTRB(10, 0, 10, 10),
                        padding: EdgeInsets.all(15),
                        child: Column(
                          mainAxisAlignment: MainAxisAlignment.start,
                          crossAxisAlignment: CrossAxisAlignment.center, <=
                          children: [
                           /* SizedBox(
                              height: 30,
                            ),*/
                            Align(
                              alignment: Alignment.centerLeft,
                              child: Text(
                                'Personal Information',
                                style: TextStyle(
                                    color: Colors.black, fontSize: 18,),
                              ),
                            ),
                            Column(
                              mainAxisAlignment: MainAxisAlignment.center,
                              crossAxisAlignment: CrossAxisAlignment.center,
                              children: [
                                SizedBox(height: 35),
                                Container(
                                  width:
                                      MediaQuery.of(context).size.width >= 1000
                                          ? 1000
                                          : MediaQuery.of(context).size.width,
                                  child: Column(
                                    children: [
                                      Row(
                                        children: <Widget>[
                                          Expanded(
                                            child: Column(
                                              mainAxisAlignment:
                                                  MainAxisAlignment.start,
                                              crossAxisAlignment:
                                                  CrossAxisAlignment.start,
                                              children: [
                                                SizedBox(
                                                  height: 25,
                                                  child: Text(
                                                    'First Name',
                                                    style: TextStyle(
                                                        fontWeight:
                                                            FontWeight.bold),
                                                  ),
                                                ),
                                                SizedBox(
                                                  width: 400,
                                                  child: TextFormField(
                                                    style: const TextStyle(
                                                        color: Colors.black),
                                                    controller: firstName,
                                                    onSaved: (String? value) {
                                                      firstName.text = value!;
                                                    },
                                                    decoration:
                                                        const InputDecoration(
                                                      border:
                                                          OutlineInputBorder(
                                                        borderSide: BorderSide(
                                                            width: 1,
                                                            color:
                                                                Color.fromRGBO(
                                                                    217,
                                                                    217,
                                                                    217,
                                                                    1)),
                                                      ),
                                                      hintText: '* First Name',
                                                      hintStyle: TextStyle(
                                                          color: Colors.grey,
                                                          fontSize: 16),
                                                    ),
                                                  ),
                                                )
                                              ],
                                            ),
                                          ),
),

如果更改crossAxisAlignment:CrossAxisAlignment.center,到CrossAxisAlignment.start我的TextFormField也改变了。有人能帮我吗?

txu3uszq

txu3uszq1#

你正在使用多列,这是导致这一点。从代码中我不明白为什么我们需要多列。你可以创建一个单一的列作为容器的子控件,并相应地样式化子控件。这将是实现它的最佳方式。
您可以将alignment属性赋予父容器。如果子控件遵循不同的样式,则更新子控件的样式。

xjreopfe

xjreopfe2#

删除第二个Column,并将其子元素放在第一个中。然后在列上使用Align小部件将其带到中心。或者您可以尝试将alignment参数赋予Container,对此我不太确定。
层次结构如下:

Container() => Align() => Column(children: [all the children of both old columns])

相关问题