
search.gif
動(dòng)畫是模仿一個(gè)app( package names viewe) 的搜索控件
網(wǎng)上找了好久 沒找到,只能自己造輪子
如何使用?
implementation 'com.gitee.Pino_W:search-view:v1.0.3'
布局 ,這里有細(xì)節(jié) SearchView要配合FrameLayout使用,SearchView要放在最后面,層級(jí)最高
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<com.uni.search_view.SearchView
android:id="@+id/sv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:startMode="left"
app:aotuOpen="true"
/>
<com.uni.search_view.SearchView
android:id="@+id/sv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:startMode="right"
android:visibility="gone"
/>
</FrameLayout>
代碼實(shí)現(xiàn)
public class SearchActivity extends AppCompatActivity {
SearchView searchView;
SearchView searchView2;
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_search);
searchView=findViewById(R.id.sv1);
searchView2=findViewById(R.id.sv2);
Bundle bundle = this.getIntent().getExtras();
String startMode = bundle.getString("startMode");
if(startMode.equals("left")){
searchView.setVisibility(View.VISIBLE);
searchView2.setVisibility(View.GONE);
}else {
searchView.setVisibility(View.GONE);
searchView2.setVisibility(View.VISIBLE);
}
List<String> list=new ArrayList<>();
for (int i = 0; i < 10; i++) {
list.add("search key"+i);
}
// 一、 設(shè)置自動(dòng)搜索內(nèi)容
searchView.setSearchList(list).setHighLightColor(Color.RED).setSelectCallback((res) -> {
Snackbar.make(searchView,"選中:"+res, Snackbar.LENGTH_SHORT).setBackgroundTint(getColor(R.color.color_main)).show();
});
// 二、只要輸入框內(nèi)容
searchView2.setOnSubmitKey((searchKey) -> {
// 執(zhí)行提交按鈕
Snackbar.make(searchView,"獲取輸入的內(nèi)容:"+searchKey, Snackbar.LENGTH_SHORT).setBackgroundTint(getColor(R.color.color_main)).show();
});
}
}
gitee傳送門 https://gitee.com/Pino_W/search-view