此颜色取决于您的主题颜色,请尝试以下代码,希望对您有所帮助:
TextField(cursorColor: Colors.red)//change color your need
你有两种可能性:
return MaterialApp(
title: 'Demo',
theme: ThemeData(
primarySwatch: Colors.orange, // Or another color
),
home: Home() // Your home page,
);
TextField( cursorColor: Colors.orange) // or another color
在 TextField 中,指定cursorColor 属性,如下所示:
TextField(
...
// put here the color you want
cursorColor: Colors.green
)
要全局更改此设置,您应该这样做
在 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),
抱歉回答太长,但我认为这样更好
正确答案在这里
selectionHandleColor是您必须根据您想要的颜色添加和更改的参数
MaterialApp(
theme: ThemeData(
primarySwatch: Colors.grey,
textSelectionTheme: const TextSelectionThemeData(
cursorColor: Colors.black,
selectionHandleColor: Colors.grey,
selectionColor: Color.fromARGB(255, 233, 232, 232),
),
)),