Flutter TextField 添加 suffixIcon后,文字和图标不居中的问题
10-12 17:03 浏览(144

TextField 添加 suffixIcon后,文字和图标不居中,修改 suffixIcon 中的高度也不生效

suffixIcon 内容如下

Widget eyesIcon() {
    return GestureDetector(
      child: Container(
        height: 40,
        width: 40,
        alignment: Alignment.centerRight,
        child: Icon(
          eyesClose ? Ionicons.ios_eye : Ionicons.ios_eye_off,
          color: ThemeColors.font_color_grey,
          size: 16,
        ),
      ),
      onTap: () {
        setState(() {
          eyesClose = !eyesClose;
        });
      });
  }

同样的 清除图标是没问题的

Widget clearIcon() {
    return GestureDetector(
      child: Container(
        height: 40,
        width: 40,
        alignment: Alignment.centerRight,
        child: Icon(
          Ionicons.ios_close_circle,
          color: ThemeColors.font_color_grey,
          size: 16,
        ),
      ),
      onTap: () {
        WidgetsBinding.instance
            .addPostFrameCallback(((_) => widget.controller.clear()));
      },
    );
  }

设置了 obscureText 为 true 就会这样,修改height也不行

应该是 TextField 内部有个最小高度,解决办法,使用 ConstrainedBox 修改它的最小高度,如下

ConstrainedBox(
      constraints: BoxConstraints(maxHeight: 40),
      child: TextField组件,
    )


发布评论
回复X
聊天室(0