事先声明
本项目基于 wenwenwen888/SearchDialog: 仿bilibili搜索框效果(三句代码实现) (github.com)
只是因为这个大佬的项目比较旧,我在他代码的基础上进行改进,适配androidx,同时添加了关键词联想功能。
效果如下
关键词联想功能
如何使用
引入依赖
implementation 'com.github.xiaoyou-xblog:SearchDialog:v2.2'
实例化
SearchFragment<T> searchFragment = SearchFragment.newInstance();
回调设置
searchFragment.setOnSearchClickListener(new IOnSearchClickListener<String>() {
/**
* 点击搜索按钮时触发
* @param keyword 搜索的关键词
*/
@Override
public void onSearchClick(String keyword) {
searchInfo.setText(keyword);
}
/**
* 点击关键词预测链接时触发
* @param data 链接携带的数据
*/
@Override
public void onLinkClick(String data) {
searchInfo.setText(data);
}
/**
* 当搜索框内容改变时触发
* @param keyword 搜索的关键词
*/
@Override
public void onTextChange(String keyword) {
// 数据初始化
List<CustomLink<String>> data = new ArrayList<>();
data.add(new CustomLink<>("链接1","数据1"));
data.add(new CustomLink<>("链接2","数据2"));
data.add(new CustomLink<>("链接3","数据3"));
// 这里我们设置关键词预测显示的内容
searchFragment.setLinks(data);
}
});
显示搜索框
searchFragment.showFragment(getSupportFragmentManager(),SearchFragment.TAG);
github地址
欢迎大家star