【问题标题】:How to change the color of the TextField selection如何更改 TextField 选择的颜色
【发布时间】:2020-11-23 13:44:23
【问题描述】:

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

Example

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

【问题讨论】:

    标签: flutter dart flutter-layout


    【解决方案1】:

    在您的ThemeData 中,您可以选择TextSelectionTheme(最近的版本已迁移到此,如果您使用的是旧版本,则属性是ThemeData 上的各个属性。Here 是用于它和迁移中的一个例子docs

    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,
            )));
      }
    

    【讨论】:

    • 我把这个放在哪里了?目前我只有文本字段
    • 通常你在某处有一个MaterialApp 主部件。你把它作为theme 放在那里。 api.flutter.dev/flutter/material/ThemeData-class.html
    • 但是我不喜欢我所有的代码都变成这种颜色,我只想改变2个字段,怎么做?
    • @Mortyson 这应该这样做,我会写相同的答案,但我猜不会有重复写的感觉??‍♂️
    • 感谢两位
    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 1970-01-01
    • 2010-10-21
    • 1970-01-01
    • 2013-07-15
    • 2018-09-11
    • 2019-11-23
    • 2019-05-09
    相关资源
    最近更新 更多