[“ TextField”在行内导致溢出抖动

问题描述 投票:0回答:1

我在Row小部件中有一个“ TextField”,我的问题是,如果我使用“ padding”将其上移,它会给我溢出,可能是因为它是“ Expanded”,但是如果我删除了“ Expanded”,我将不会看不到“ TextField”,它消失了...在“ TextField”上方有一个图像。

而且我只希望TextField的边框是彩色的,其余的必须是透明的。

P.S。 :有时我看不到“ TextField”,如果我更改颜色,似乎什么也没有改变。

这是我的代码:

body: SafeArea(
    child: Column(
      mainAxisAlignment: MainAxisAlignment.center,
      children: <Widget>[
        new Row(
            children: <Widget>[
              Padding(
                padding: EdgeInsets.fromLTRB(
                  100, 0, 0, 300,
                  ),
                  child: CircleAvatar(
                    backgroundImage: 
                    AssetImage('assets/images/io.png'),
                    minRadius: 100,
                  ),
                ),
               ],
             ),
        new Row(
          children: <Widget>[
            Expanded(
            child: Padding(
              padding: EdgeInsets.fromLTRB(
                0, 0, 0, 000,
              ),
              child : TextField(
                obscureText: false,
                decoration: InputDecoration(
                  disabledBorder: OutlineInputBorder(
                    borderSide: BorderSide(
                      color: Colors.blueAccent,
                    ),
                  ),
                  labelText: 'InputFirst',
                  ),
                ),
              ),
            ),
          ],
        ),
flutter dart flutter-layout
1个回答
0
投票

如果您希望其他小部件并排放置,则不需要两个单独的Row小部件,一个Row小部件就足够了。我看到您也有disabledBorder,但是要使此功能起作用,您需要有enabled: false。通过使用SizedBox,我使文本字段位于圆形头像旁边,它具有高度和宽度的属性,可按您的喜好对其进行格式化。

 body: SafeArea(
          child: Column(children: <Widget>[
            Padding(
              padding: EdgeInsets.fromLTRB(100, 20, 0, 0),
              child: Row(
                children: <Widget>[
                  CircleAvatar(
                    backgroundImage: AssetImage('assets/images/io.png'),
                    minRadius: 100,
                  ),
                  SizedBox(width: 20.0),
                  SizedBox(
                    width: 200.0,
                    child: TextField(
                      enabled: false,
                      obscureText: false,
                      decoration: InputDecoration(
                        disabledBorder: OutlineInputBorder(
                          borderSide: BorderSide(
                            color: Colors.blueAccent,
                          ),
                        ),
                        labelText: 'InputFirst',
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ]),
        ),
© www.soinside.com 2019 - 2024. All rights reserved.