Flutter SerachDelegate修改提示文本颜色和TextField光标颜色

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

我正在Flutter应用中使用SearchDelegate来实现搜索栏。

我已重写ThemeData appBarTheme(BuildContext context)函数以返回我的主App ThemeData。

但是,这仅更改搜索视图,仅更改应用栏颜色。它不使用主题中定义的“光标”或“提示”颜色。

赞赏任何建议。

search flutter cursor hint
1个回答
0
投票

您是否在Apple Simulator上运行您的应用程序?因为cursorColor似乎与平台有关。 TextField类的文档指出,cursorColor字段

取决于[ThemeData.platform],默认为[ThemeData.cursorColor]或[CupertinoTheme.primaryColor]。

我必须创建一个CupertinoThemeData并将其传递给main.dart文件中我的应用程序的ThemeData,如下所示:

@override
Widget build(BuildContext context) {
  return MaterialApp(
    theme: appBarCursorColorTheme(context),
    home: MyHomePage(); // MySearchDelegate contained inside MyHomePage()
  );
}

ThemeData appBarCursorColorTheme(BuildContext context) {
  final ThemeData theme = Theme.of(context);
  CupertinoThemeData ctd =
    CupertinoThemeData.raw(null, Colors.white, null, null, null, null);
  return theme.copyWith(
    cupertinoOverrideTheme: ctd,
  );
}
© www.soinside.com 2019 - 2024. All rights reserved.