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

时间:2019-05-23 14:43:59

标签: search flutter cursor hint

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

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

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

赞赏任何建议。

1 个答案:

答案 0 :(得分: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,
  );
}