Android浮动搜索框实现示例
Android 应用里的浮动搜索框,算是个比较经典的交互设计了。顶部悬浮的小搜索栏,展开、收起都灵活,体验上也更顺手。你常在新闻类、电商类或地图类 App 里见到,点击就能搜索,省得跳页面,响应也快,蛮实用的。
要搞定浮动搜索框,第一步是加依赖。用原生的androidx.appcompat.widget.SearchView
就挺好,想玩得花点的也可以试试第三方库,比如 android-advanced-search-view,功能多样,支持动画和自定义 UI。
布局方面,其实简单,XML 里加个SearchView
,设置下宽高、hint 文字就差不多了。再给它加点样式,换个图标、调个背景,UI 风格统一点,看起来也舒服。
逻辑这块,你只要把setOnQueryTextListener
挂上去,好onQueryTextSubmit
和onQueryTextChange
两个回调就行。提交时查数据,输入时过滤,像筛列表、调搜索接口都能用上。
举个例子,在MainActivity
里这么写:
SearchView searchView = findViewById(R.id.search_view);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
// 搜索逻辑,比如调用接口
return true;
}
@Override
public boolean onQueryTextChange(String newText) {
// 实时过滤或更新列表
return true;
}
});
优化点也有不少:比如加个清除按钮,搭个自动补全(可以用AutoCompleteTextView
或 Google Places API),再比如输入时实时搜索,别让用户每次都得点确认。,别忘了软键盘的显示/隐藏,体验会舒服多。
如果你想要更炫一点的效果,比如下拉动画或 ActionBar 集成,可以看看像 FloatSearchBoxDemo 这样的项目,改起来也方便。
嗯,还有几个细节别忘:空输入要、性能要考虑,数据求不能太频繁。无障碍体验也别忽视,对所有用户都友好才算完整。
如果你正在做搜索相关的功能,或者想把 App 的搜索体验做得更顺滑,这篇浮动搜索框示例教程真的挺值得一看,干货满满。
评论区