Flutter 自定义SearchDelegate搜索页面

日常开发中 我们可能会用到 SearchDelegate 来实现一个搜索页面

但是对外只暴露了以下几个接口

buildActions()

buildLeading()

buildResults()

buildSuggestion() 等等

如果我们想自定义 TextField , 修改hintText内容

或者AppBar下还想添加一个bottom怎么办呢, 这边提供一个方法以供参考

定义一个ASearchDelegate 继承自 SearchDelegate, 把SearchDelegate 源码都拷进来(material\search.dart) 

showSearch方法也换个名 showASearch(内部类可以都加个A前缀以区分, 同时继承一下原有类)

接着 找到_ASearchPageState 的build方法 

会返回一个Semantics 对象, 其实整个搜索页面就在这里定义的啦

ok, 就在这里自由发挥了

下图是题主的改动

对应调用处则调整为: showASearch(context, ASearchDelegate());

效果图:

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。