我怎样才能改变那个紫色东西的颜色?

问题描述 投票:0回答:5

我怎样才能改变那个紫色东西的颜色?

flutter colors flutter-layout textfield textformfield
5个回答
1
投票

此颜色取决于您的主题颜色,请尝试以下代码,希望对您有所帮助:

TextField(cursorColor: Colors.red)//change color your need

1
投票

你有两种可能性:

  • 在所有代码中更改它。在你的主文件中像这样更改它:
return MaterialApp(
  title: 'Demo',
  theme: ThemeData(
    primarySwatch: Colors.orange, // Or another color
  ),
  home: Home() // Your home page,
);

  • 仅更改此部分
TextField( cursorColor: Colors.orange) // or another color


0
投票

在 TextField 中,指定cursorColor 属性,如下所示:

TextField(
...
// put here the color you want
cursorColor: Colors.green
)

0
投票

要全局更改此设置,您应该这样做
在 flutter 的最新更新中,

primaryswatch
将采用
MaterialColor
而不是
Color
,所以我在
extension
上写下
Color
将颜色转换为材质颜色


extension SuiizColors on Color {
  /// Returns a [MaterialColor] from a [Color] object
  MaterialColor getMaterialColorFromColor() {
    final colorShades = <int, Color>{
      50: ColorsManager.getShade(this, value: 0.5),
      100: ColorsManager.getShade(this, value: 0.4),
      200: ColorsManager.getShade(this, value: 0.3),
      300: ColorsManager.getShade(this, value: 0.2),
      400: ColorsManager.getShade(this, value: 0.1),
      500: this, //Primary value
      600: ColorsManager.getShade(this, value: 0.1, darker: true),
      700: ColorsManager.getShade(this, value: 0.15, darker: true),
      800: ColorsManager.getShade(this, value: 0.2, darker: true),
      900: ColorsManager.getShade(this, value: 0.25, darker: true),
    };
    return MaterialColor(value, colorShades);
  }
}

getShade方法的代码是


static Color getShade(Color color, {bool darker = false, double value = .1}) {
    assert(value >= 0 && value <= 1, 'shade values must be between 0 and 1');

    final hsl = HSLColor.fromColor(color);
    final hslDark = hsl.withLightness(
      (darker ? (hsl.lightness - value) : (hsl.lightness + value))
          .clamp(0.0, 1.0),
    );

    return hslDark.toColor();
  }

最后您可以添加您需要添加主色板和配色方案才能删除它


 primarySwatch: ColorsManager.primary.getMaterialColorFromColor(),
    colorScheme: ColorScheme.fromSwatch(
        primarySwatch: Colors.transparent.getMaterialColorFromColor(),
        accentColor: ColorsManager.accent,
        backgroundColor: ColorsManager.white,
        brightness: Brightness.light,
        cardColor: ColorsManager.offWhite,
        errorColor: ColorsManager.error),

抱歉回答太长,但我认为这样更好


0
投票

正确答案在这里

selectionHandleColor是您必须根据您想要的颜色添加和更改的参数

MaterialApp(
      theme: ThemeData(
        primarySwatch: Colors.grey,
        textSelectionTheme: const TextSelectionThemeData(
          cursorColor: Colors.black,
          selectionHandleColor: Colors.grey,
          selectionColor: Color.fromARGB(255, 233, 232, 232),
        ),
      )),
© www.soinside.com 2019 - 2024. All rights reserved.