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

如何在Android端Flutter应用中修改文本选中高亮颜色

解决方案

你遇到的问题是Flutter中可选中文本的样式默认继承主题主色,当主色为黑色时会和黑色文本重叠,无法区分选中区域。提供两种修改方案:

方案1:仅修改当前页面的选中样式

直接给页面内的每个SelectableText组件添加selectionColor参数即可快速生效,示例修改代码如下:

SelectableText(
  global!.config.aboutText1!,
  textDirection: TextDirection.rtl,
  // 新增选中颜色配置,可自定义透明度和色值
  selectionColor: Colors.blue.withOpacity(0.3),
  style: TextStyle(
      fontSize: 20, height: 1.6, fontWeight: FontWeight.w500),
)

将页面内其余3个SelectableText都加上同样的selectionColor配置即可。

方案2:全局修改全应用的文本选中样式

如果需要所有页面的可选中文本(包括输入框文本)都生效,直接修改项目根目录的MaterialApp主题配置即可,无需单独修改每个组件:

MaterialApp(
  title: '你的应用名',
  theme: ThemeData(
    // 新增文本选中主题配置
    textSelectionTheme: TextSelectionThemeData(
      selectionColor: Colors.blue.withOpacity(0.3), // 选中区域背景色
      cursorColor: Colors.blue, // 输入框光标颜色
      selectionHandleColor: Colors.blue, // 选中文本两端的拖动手柄颜色
    ),
    // 你原来的其他主题配置保持不变
  ),
  home: 你的首页组件,
)

注:Flutter 2.0及以上版本废弃了之前直接在ThemeData中设置selectionColor的写法,统一通过textSelectionTheme管控,这也是之前尝试修改未生效的常见原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 04:09:03