如何摆脱suffixIcon左侧的填充?由于填充光标未正确居中

时间:2019-07-18 08:04:10

标签: flutter flutter-layout

代码如下:

TextField(
                        controller: _textEditingController,
                        decoration: new InputDecoration(
                          enabledBorder: OutlineInputBorder(
                              borderSide: BorderSide(
                                color: Theme.of(context).accentColor,
                                width: 4.0,
                              ),
                              borderRadius: new BorderRadius.circular(8.0)),
                          focusedBorder: new OutlineInputBorder(
                            borderRadius: new BorderRadius.circular(8.0),
                            borderSide: new BorderSide(
                              style: BorderStyle.solid,
                              color: Theme.of(context).accentColor,
                              width: 4.0,
                            ),
                          ),
                          filled: true,
                          fillColor: _getFillColorBasedOnInput(context),
                          suffixIcon: IconButton(
                              icon: SvgPicture.asset(
                                'assets/images/checkmark_yellow.svg',
                                color: _textEditingController.text.isEmpty ? Colors.black12 : null,
                                width: 32.0,
                                height: 32.0,
                              )),
                        ),
                        keyboardType: TextInputType.text,
                        textCapitalization: TextCapitalization.sentences,
                        textAlign: TextAlign.center,
                        cursorColor: Theme.of(context).accentColor,
                        style: new TextStyle(
                          fontSize: 24,
                          color: Theme.of(context).accentColor,
                        ))

这是它的样子:

enter image description here

enter image description here

任何人都可以提出一些解决方案,以将光标置于输入字段和选中标记图标的开头(请参见红色虚线)。我尝试了很多想法,但没有一个导致理想的结果。谢谢。

1 个答案:

答案 0 :(得分:1)

您可以在这里做两件事:

1)通过删除多余的padding来更改flutter文件中后缀图标的代码。

2)这是一种解决方法,您可以使用Stack小部件将图标保持在Textfield上方。这样,您就可以将光标居中。 虽然,如果您输入的文字太长(即,图标下方的输入内容),看起来会很不愉快。在这种情况下,您可能会限制输入。