flutter TextField 不居中问题,亲自测试有效

现象:

使用TextField之后,输入超过一行,字体会显示只有上半截;

加了这个属性之后contentPadding: EdgeInsets.zero,

不同平板适配有差异,有些高度正常,有些偏低。

解决方案:

重点看红色字体部分。

TextField(
  //是否默认获得焦点
  // autofocus: true,
  controller: editingController,
  onTap: () {},
  decoration: InputDecoration(
    focusedBorder: const OutlineInputBorder(
        borderSide:
        BorderSide(width: 0, color: Colors.transparent)),
    disabledBorder: const OutlineInputBorder(
        borderSide:
        BorderSide(width: 0, color: Colors.transparent)),
    enabledBorder: const OutlineInputBorder(
        borderSide:
        BorderSide(width: 0, color: Colors.transparent)),
    border: const OutlineInputBorder(
        borderSide:
        BorderSide(width: 0, color: Colors.transparent)),
    contentPadding: EdgeInsets.zero,

    hintText: "搜索",
    hintStyle: TextStyle(
      color: const Color(0xFF336699),
      fontSize: 14,
    ),
//输入框前面的图片
    prefixIcon: Image.asset(Assets.search),
//输入框后面的图片,如果输入框有内容,则显示清除按钮,否则不显示
    suffixIcon: (GlobalVar().searchKey.isNotEmpty && FocusScope.of(context).hasFocus)?GestureDetector(
      child: Image.asset(Assets.close),
      onTap: () {
        editingController.clear();
        GlobalVar.searchKey = "";
        UIUtil.unfocused(context);
      },
    ):null,
  ),
)

猜你喜欢

转载自blog.csdn.net/szdenny/article/details/131120054