【发布时间】:2021-06-05 02:26:06
【问题描述】:
我一直在尝试将 Flutter SearchDelgate 自定义为我想要的搜索字段类型。它有一个名为appBarTheme 的方法,返回类型为ThemeData。通常使用ThemeData 您可以更改应用栏主题,但在我的情况下它没有任何改变。我可以自定义提示文本样式 searchFieldStyle 方法,但仅此而已。
代码如下:
class CustomSearchDelegate extends SearchDelegate<Country> {
@override
ThemeData appBarTheme(BuildContext context) {
return ThemeData(
appBarTheme: AppBarTheme(
elevation: 0,
color: themeColor,
//app bar color I wanted
),
);
}
@override
TextStyle get searchFieldStyle => TextStyle(
color: whiteTextColor,
fontWeight: FontWeight.w600,
fontFamily: GoogleFonts.poppins().fontFamily,
);
@override
List<Widget> buildActions(BuildContext context) {
return [
IconButton(
icon: Icon(
Icons.close_rounded,
color: Colors.white,
),
onPressed: () => query = '',
),
];
}
@override
Widget buildLeading(BuildContext context) {
return IconButton(
icon: Icon(
Icons.arrow_back_ios,
color: Colors.white,
),
onPressed: () {
close(context, null);
},
);
}
@override
Widget buildResults(BuildContext context) {
return Column(
children: [],
);
}
@override
Widget buildSuggestions(BuildContext context) {
return Column(
children: [],
);
}
}
如果有人能帮我解决这个问题,那将非常有帮助。
另外,之前有人提出过类似的问题,但从未得到回答 Flutter create custom search UI extends SearchDelegate
【问题讨论】: