Android 帶動(dòng)畫的SearchView

廢話少說 先上圖
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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容