Flutter TextField 在Row中时出现输入字数过多字体被遮挡解决办法

如图所示 :

从图中可以看到 上面的TextFormField输入数据正常 ,下面的字体被遮挡 

有一种方法是加高外层父Widget高度 ,但这里外层高度有固定的值 所以需要其他方式

 

解决办法:

如果外层Container高度固定  给Textformfield设置contentpadding 属性

 

直接上代码:

 Container(margin: EdgeInsets.only(top: 14,left: 21,right: 21),
                              child: Column(
                                children: <Widget>[
                                      Container(
                                        child: Text('guide text :',
                                          style: TextStyle(
                                            color: Color(0xff494949),
                                            fontSize: ScreenUtil.getInstance().setSp(24),
                                          ),),
                                        alignment: Alignment.centerLeft,
                                      ),
                                  Container(
                                    margin: EdgeInsets.only(top: 5),
                                    padding: EdgeInsets.only(
                                      left:ScreenUtil.getInstance().setWidth(24),
                                      right:ScreenUtil.getInstance().setWidth(24),),
                                    width: double.infinity,
                                    height: ScreenUtil.getInstance().setWidth(75),
                                    decoration: BoxDecoration(
                                      borderRadius: BorderRadius.circular(10),
                                      border: Border.all(
                                        color: Color(
                                          0xffd4e0ef,
                                        ),
                                      ),
                                    ),
                                    child:Row(
                                      crossAxisAlignment: CrossAxisAlignment.center,
                                      children: <Widget>[
                                        Expanded(child: TextFormField(
                                          textAlign: TextAlign.center,
                                          enabled: enableEdit1,    //控制TextFormField是否可编辑
                                          decoration: InputDecoration(
                                            contentPadding: EdgeInsets.only(bottom: -3), //这里是关键
                                            border: InputBorder.none,              //去掉下划线
                                            hintText: 'hinttext',
                                          ),
                                          inputFormatters: [
                                            WhitelistingTextInputFormatter(RegExp("[a-z,A-Z,0-9]")),
                                          ],
                                          style: TextStyle(
                                            fontSize: ScreenUtil.getInstance().setSp(24),
                                          ),
                                          initialValue: 'value1',
                                        )),
                                        Container(
                                          margin: EdgeInsets.only(left: 5,right: 5),
                                          padding: EdgeInsets.only(left: 5,right: 5),
                                          height: ScreenUtil.getInstance().setWidth(48),
                                          decoration: BoxDecoration(
                                            color: Color(0xfffff6e5),
                                            borderRadius: BorderRadius.circular(4),
                                          ),child: Row(
                                          mainAxisAlignment: MainAxisAlignment.center,
                                          children: <Widget>[
                                            Image.asset('images/tips_bulb.png',
                                              width: ScreenUtil.getInstance().setWidth(23),
                                              height: ScreenUtil.getInstance().setWidth(23),
                                            ),
                                            Padding(padding: EdgeInsets.only(left: 3),
                                                child: Text('xxxxxxx xxxxxx xxxxxx',
                                                  style: TextStyle(
                                                    color: Color(0xfff09e4e),
                                                    fontSize: ScreenUtil.getInstance().setSp(17),
                                                  ),
                                                ),
                                            ),
                                          ],
                                        ),
                                        ),
                                        GestureDetector(
                                          onTap: (){
                                             setState(() {
                                               enableEdit1=true;
                                             });
                                          },
                                          child: Image.asset('images/edit_blue.png',
                                            width: ScreenUtil.getInstance().setWidth(26),
                                            height: ScreenUtil.getInstance().setWidth(26),
                                          ),
                                        ),
                                      ],
                                    ),
                                  ),

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值