Выравнивание виджета флаттера - PullRequest
0 голосов
/ 04 мая 2020

Я хочу выровнять значки (+, -) и TextField в той же позиции Vertical. Но я не понимаю этого. Вот мой код.

Row(
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
             InkWell(
                  child: Icon(Icons.remove ,color: Colors.white),
                  onTap: (){},
                     ),
                     Container(
                               width: 35,
                               height: 40,
                               child: TextField(
                                      inputFormatters:[WhitelistingTextInputFormatter(RegExp(digit_Reg_Expression))],
                                      keyboardType: TextInputType.number,
                                      textAlign: TextAlign.center,
                                      cursorColor: Colors.green,
                                      controller: Controler_size[index],
                                               ),
                              ),
                                      InkWell(
                                              child: Icon(Icons.add,color: Colors.white),
                                              onTap: (){},
                                             )
                      ],
)

Пожалуйста, помогите мне расположить эти Widgets по вертикали, чтобы они совпали в одном и том же вертикальном положении. введите описание изображения здесь

Ответы [ 3 ]

1 голос
/ 04 мая 2020

Если вы хотите разместить элементы vertically, используйте виджет Column. Если вы хотите разместить элементы horizontally, используйте виджет Row.

Проверьте код ниже: Он отлично работает:

Column(
    crossAxisAlignment: CrossAxisAlignment.center,
    children: <Widget>[
             InkWell(
                  child: Icon(Icons.remove ,color: Colors.white),
                  onTap: (){},
                     ),
                     Container(
                               width: 35,
                               height: 40,
                               child: TextField(
                                      inputFormatters:[WhitelistingTextInputFormatter(RegExp(digit_Reg_Expression))],
                                      keyboardType: TextInputType.number,
                                      textAlign: TextAlign.center,
                                      cursorColor: Colors.green,
                                      controller: Controler_size[index],
                                               ),
                              ),
                                      InkWell(
                                              child: Icon(Icons.add,color: Colors.white),
                                              onTap: (){},
                                             )
                      ],
)

Надеюсь, это поможет.

0 голосов
/ 04 мая 2020

Я перешел по ссылке, которую вы прикрепили в вопросе, я думаю, что проблема в вашем контейнере, который оборачивает TextField:

Container(...
   width: 35,
  ---> remove this: (height: 40) ...
)
0 голосов
/ 04 мая 2020

установить mainAxisAlignment в MainAxisAlignment.center

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...