flutter - 在 Flutter 中对齐多行 TextField 中的提示文本

标签 flutter dart flutter-layout textfield

我有一个带有 prefixIcon 的多行 TextField,所以现在图标垂直居中,提示文本位于左上角。我希望它们都对齐,无论是在顶部还是在垂直中心。

使用的代码是

    Padding(
          padding: const EdgeInsets.symmetric(horizontal: 10.0),
          child: TextField(
            maxLines: 3,
            decoration: InputDecoration(
              hintText: 'Bio',
              prefixIcon: Icon(Icons.chrome_reader_mode),
              fillColor: Colors.grey[200],
              filled: true,
              border: OutlineInputBorder(
                borderRadius: BorderRadius.circular(10.0),
                borderSide: BorderSide(),
              ),
            ),
          ),
        ),

最佳答案

这是一个丑陋的解决方案,但它有效。其他解决方案(例如,将 textAlignVertical 设置为 TextAlignVertical.center )不起作用,因为 maxLines不为空 .
添加 TextStylehintText并设置 heightTextStyle2.8 .当 fontSize 出现时,您需要减少它。更大是因为 height将乘以 fontSize使行高。我加了一个 contentPadding确保文本不会溢出(因为现在文本从 TextField 的中心开始)。

TextField(
                    maxLines: 3,
                    decoration: InputDecoration(
                      contentPadding: EdgeInsets.symmetric(vertical: 30),
                      hintText: 'Bio',
                      hintStyle: TextStyle(
                        height: 2.8,
                      ),
                      prefixIcon: Icon(Icons.chrome_reader_mode),
                      fillColor: Colors.grey[200],
                      filled: true,
                      border: OutlineInputBorder(
                        borderRadius: BorderRadius.circular(10.0),
                        borderSide: BorderSide(),
                      ),
                    ),
                  ),
结果:
res

关于flutter - 在 Flutter 中对齐多行 TextField 中的提示文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63271439/

相关文章:

Flutter:如何使用 AnimatedContainer 在列中展开?

json - 如何使用另一个类和JsonKey排除DART Model中的字段?

dart - Flutter - 如何将图像与渐变颜色混合?

flutter - 如何集成flutter dotenv?

dart - 取消与LineSplitter结合的stdin订阅

flutter - Flutter:从上一个屏幕上的特定卡导航时动态更改AppBar标题

android - Flutter:如何修复 "A RenderFlex overflowed by pixels "错误?

mobile - 滚动时如何隐藏BottomNavigationBar-Flutter

android - 如何使用 flutter 本地化启动器中显示的应用程序名称?

dart - 如何在 Flutter 的 sqlite 中存储对象数据列表?