You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改Flutter Web应用中TextFormField的光标颜色

Flutter Web 修改TextFormField光标颜色实现方案

TextFormField本身支持光标颜色配置,不需要额外引入第三方依赖,分两种场景配置即可:

  • 单组件局部改色
    直接在TextFormField的构造参数里传入cursorColor即可,同时支持配套调整光标样式:
    TextFormField(
      // 自定义光标颜色
      cursorColor: Colors.deepPurple,
      // 可选配置:光标粗细
      cursorWidth: 1.5,
      // 可选配置:光标圆角
      cursorRadius: const Radius.circular(1),
      // 其余原有业务配置(校验规则、输入装饰、回调等)
      decoration: const InputDecoration(
        border: OutlineInputBorder(),
        hintText: '输入内容',
      ),
    )
    
  • 全局统一改色
    如果需要应用内所有输入框统一光标颜色,直接在MaterialApp的主题数据中配置TextSelectionThemeData即可,不需要给每个输入框单独传参:
    MaterialApp(
      theme: ThemeData(
        textSelectionTheme: const TextSelectionThemeData(
          cursorColor: Colors.deepPurple,
          // 可选:同步配置文本选中高亮色、选择手柄颜色,保持交互风格统一
          selectionColor: Color(0x4D6750A4),
          selectionHandleColor: Colors.deepPurple,
        ),
      ),
      home: const YourHomePage(),
    )
    

注意:Flutter Web 3.10以下的旧版本曾存在光标颜色读取主题不生效的兼容问题,升级到3.10及以上稳定版后上述配置可直接生效,无需单独写Web端兼容逻辑。

内容的提问来源于stack exchange,提问作者user18355990

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 16:12:22