Skip to content

Commit

Permalink
prefect: 完善readme文档,同时更新包名字
Browse files Browse the repository at this point in the history
  • Loading branch information
xiaoyou66 committed Feb 23, 2021
1 parent 4e16b30 commit 2033d08
Show file tree
Hide file tree
Showing 8 changed files with 119 additions and 70 deletions.
Binary file modified .idea/caches/build_file_checksums.ser
Binary file not shown.
109 changes: 74 additions & 35 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,64 +1,103 @@
# SearchDialog
仿bilibili搜索框效果(只需要三句话即可实现)
# SearchDialog 一款好看的安卓搜索框

先看预览图(转换后有一点点失真):
本项目修改自:[xiaoyou-xblog/SearchDialog (github.com)](https://github.com/xiaoyou-xblog/SearchDialog)

<img src="https://github.com/wenwenwen888/SearchDialog/blob/master/preview/1.gif" width="30%" height="30%">
## 效果图

前言
-------
1,支持搜索历史(已经做了数据库存储了)
原效果

<img src="images/1.gif" alt="img" style="zoom:50%;" />

2,基本与bilibili的搜索效果差不多了
修改后支持设置关键词预测和跳转功能

3,需要修改更多内容可以下载library自己修改
<img src="images/image-20210223152446915.png" alt="image-20210223152446915" style="zoom: 33%;" />

4,本人非大牛,有不妥之处请Issues指出,谢谢
修改内容
-------

5,参考了该po的[文章](http://lhunter.org/2016/08/06/%E4%BB%BF%20Bilibili%20%E6%90%9C%E7%B4%A2%E6%95%88%E6%9E%9C/) ,感谢
### v2.1

6,感谢各位提交Issues,隔了这么久才更新,对8起
1.适配androidx

<img src="https://wx3.sinaimg.cn/mw690/7347c889ly1fyay81hj81g202x02y3yf.gif">
2.添加编辑框内容改变的回调事件

Update log
-----------
+ 1.0.1版本:修复对aapt2支持,增添判断二次打开问题。
3.支持设置关键词预测和修改功能

Usage
引入依赖
--------

With Gradle:
```groovy
implementation 'com.wenwenwen888:searchbox:1.0.1'
implementation 'com.github.xiaoyou-xblog:SearchDialog:v2.1'
```


How to use
如何使用
--------
第一句 , 实例化:
1.实例化(这个T就是关键词预测携带的数据):

```java
SearchFragment searchFragment = SearchFragment.newInstance();
SearchFragment<T> searchFragment = SearchFragment.newInstance();
```
第二句 , 设置回调:
2.设置回调:

```java
searchFragment.setOnSearchClickListener(new IOnSearchClickListener() {
@Override
public void OnSearchClick(String keyword) {
//这里处理逻辑
Toast.makeText(ToolBarActivity.this, keyword, Toast.LENGTH_SHORT).show();
}
});
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);
}
});
```
第三句 , 显示搜索框:
3.显示搜索框:

```java
searchFragment.showFragment(getSupportFragmentManager(),SearchFragment.TAG);
searchFragment.showFragment(getSupportFragmentManager(),SearchFragment.TAG);
```

# License

Copyright 2016 wenwenwen888
4.如果需要设置关键词预测,进行如下操作

```java
// 数据初始化
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);
```

# License

Copyright 2020 xiaoyou

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Expand Down
2 changes: 1 addition & 1 deletion app/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ android {
compileSdkVersion 30

defaultConfig {
applicationId "com.wyt.searchdialog"
applicationId "com.xiaoyou.searchdialog"
minSdkVersion 15
targetSdkVersion 30
buildToolsVersion '28.0.3'
Expand Down
69 changes: 38 additions & 31 deletions app/src/main/java/com/wyt/searchdialog/MainActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
import androidx.appcompat.app.AppCompatActivity;
import androidx.appcompat.widget.Toolbar;

import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;
Expand All @@ -17,7 +16,7 @@
import java.util.ArrayList;
import java.util.List;

public class MainActivity extends AppCompatActivity implements Toolbar.OnMenuItemClickListener, IOnSearchClickListener<String> {
public class MainActivity extends AppCompatActivity implements Toolbar.OnMenuItemClickListener {

Toolbar toolbar;
TextView searchInfo;
Expand All @@ -32,13 +31,46 @@ protected void onCreate(Bundle savedInstanceState) {
// 设置控件
toolbar=findViewById(R.id.toolbar);
searchInfo=findViewById(R.id.search_info);

toolbar.setTitle("SearchDialog");//标题
// 标题
toolbar.setTitle("SearchDialog");
setSupportActionBar(toolbar);

searchFragment = new SearchFragment<>();
searchFragment = SearchFragment.newInstance();
toolbar.setOnMenuItemClickListener(this);
searchFragment.setOnSearchClickListener(this);
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);
}
});
}

@Override
Expand All @@ -56,29 +88,4 @@ public boolean onMenuItemClick(MenuItem item) {
}
return true;
}

@Override
public void onSearchClick(String keyword) {
searchInfo.setText(keyword);
}

/**
* 点击链接时触发
* @param data 链接携带的数据
*/
@Override
public void onLinkClick(String data) {
searchInfo.setText(data);
}


@Override
public void onTextChange(String key) {
// 我们来设置一下数据
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);
}
}
Binary file added images/1.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/image-20210223152446915.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,10 @@ private void setKeyWordHistorys(String keyword) {
checkHistorySize();
}

// 对外暴露设置链接的方法
/**
* 对外暴露链接设置
* @param data 链接数据
*/
public void setLinks(List<CustomLink<T>> data){
// 清除历史记录并设置数据
items.clear();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,8 @@ public interface IOnSearchClickListener<T> {

/**
* 搜索框内容改变时触发数据
* @param key 关键词
* @param keyword 搜索的关键词
*/
void onTextChange(String key);
void onTextChange(String keyword);

}

0 comments on commit 2033d08

Please sign in to comment.