flutter - TextField 占位符和文本垂直对齐不正确
问题描述
我正在使用 Flutter 开发移动应用程序。我在对齐文本字段的占位符文本及其值垂直居中时遇到问题。
这是我的 TextField 代码。
return Container(
color: Colors.black,
child: Padding(
padding: EdgeInsets.all(10),
child: TextField(
onChanged: (text) {
this.filter = text.toLowerCase();
this._refreshListItems();
},
style: TextStyle(
height: 0.5
),
cursorColor: Colors.black12,
textAlignVertical: TextAlignVertical.center,
decoration: InputDecoration(
filled: true,
fillColor: Colors.white,
prefixIcon: Icon(Icons.search, color: Colors.black26,),
border: OutlineInputBorder(
borderRadius: const BorderRadius.all(
const Radius.circular(10.0),
),
),
hintText: "Search",
focusedBorder: OutlineInputBorder(
borderSide: BorderSide(color: Colors.white),
borderRadius: const BorderRadius.all(
const Radius.circular(10.0),
),
),
),
),
)
);
但是,当它被渲染时,占位符和它的值会在垂直方向上稍微向上一点,如下面的屏幕截图所示。
我的代码有什么问题,我该如何解决?
解决方案
将文本样式高度设置为 0.5 会导致文本跨度为字体大小的一半。删除它,因为不认为这会帮助你。
style: TextStyle(
height: 0.5
),
为了处理内容大小,您可以使用contentPadding
decoration: InputDecoration(
contentPadding: EdgeInsets.all(1),
....
),
我使用了以下代码,它正在工作
contentPadding: EdgeInsets.fromLTRB(0, 8, 0, 0),
推荐阅读
- javascript - 如何在Javascript中检查两个具有不同值的不同对象的相同值
- linux - ASP.NET Core:运行依赖于框架的应用程序时“找不到框架‘Microsoft.AspNetCore.App’,版本‘3.1.0’”
- r - 使用 dplyr 比较组并过滤常见的观察结果
- r - 使用 dplyr 将一组中缺少的级别添加到汇总表
- python - 如何从每类 imagenet 中获取 50 个样本?
- wpf - UserControl 'Loaded' 上的 EventTrigger 未调用 ICommand.Execute
- c - 为什么我没有得到正确的总和值?
- dependency-injection - CDI注入具体接口实现
- reactjs - 在标签旁边创建 MUI 文本字段
- ansible - 如何在具有 python 2.4 的远程服务器上进行 ansible 工作