我正在Flutter应用中使用SearchDelegate来实现搜索栏。
我已重写ThemeData appBarTheme(BuildContext context)函数以返回我的主App ThemeData。
但是,这仅更改搜索视图,仅更改应用栏颜色。它不使用主题中定义的“光标”或“提示”颜色。
赞赏任何建议。
答案 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,
);
}