首页 > 解决方案 > 如何更改 TextField 选择的颜色

问题描述

如何更改文本字段“选择”的颜色,如下图:

例子

在这张图片中,背景选择为蓝色,选项为灰色,但在颤动中,我该如何更改这种颜色?

标签: flutterdartflutter-layout

解决方案


在您的ThemeData中,您可以选择 a TextSelectionTheme(最近的版本已迁移到此,如果您使用的是旧版本,则属性是 上的单个属性ThemeData以下是它的文档和迁移文档中的示例:

ThemeData(
  textSelectionTheme: TextSelectionThemeData(
    cursorColor: Colors.red,
    selectionColor: Colors.green,
    selectionHandleColor: Colors.blue,
  )
)

编辑:如果您只想更改单个小部件的主题,您可以使用这样的Theme小部件包装您的构建功能:

  Widget build(BuildContext context) {
    return Theme(
        child: MyWidget(),
        data: ThemeData(
            textSelectionTheme: TextSelectionThemeData(
          cursorColor: Colors.red,
          selectionColor: Colors.green,
          selectionHandleColor: Colors.blue,
        )));
  }

推荐阅读