SearchView使用

作者: NoBugException | 来源:发表于2019-08-22 18:11 被阅读0次

    SearchView这个控件是经常用到的,用法也比较简单。

    最简单的SearchView代码如下:

    <SearchView
        android:id="@+id/searchview"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#AEDEE6"/>
    

    如图:

    164.gif

    为了方便显示,我添加了背景色,上图中,SearchView的起初只有一个搜索小图标,点击左侧的搜索小图标之后开始显示编辑框,编辑框右边还有一个叉,输入任意文本,点击右侧的叉,删除文本,再次点击右侧的叉,SearchView恢复初始状态。

    (1)iconifiedByDefault的使用

    iconifiedByDefault值默认是true,当设置为false时,SearchView的初始状态变为:

    图片.png

    代码如下:

        android:iconifiedByDefault="false"
    

        searchview.setIconifiedByDefault(false);
    
    (2)imeOptions属性

    imeOptions属性是EditText特有的属性,查看源码可以知道,SearchView中显示的编辑框其实就是SearchAutoComplete,SearchAutoComplete是EditText的间接子类,SearchAutoComplete的imeOptions默认值是actionSearch

    (3)queryHint属性

    queryHint:设置提示文字

    图片.png

    代码实现如下:

        android:queryHint="提示文字"
    

        searchview.setQueryHint("提示文字");
    
    (4)监听
    • 搜索编辑框进入编辑状态时的监听

        searchview.setOnSearchClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //当点击搜索编辑框的时候执行,刚进入时默认点击搜索编辑框
            }
        });
      
    • 点击软键盘搜索按钮时的监听以及搜索编辑框文本变化时的监听

        searchview.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String s) {
                //点击软键盘搜索的时候执行
                return false;
            }
      
            @Override
            public boolean onQueryTextChange(String s) {
                //搜索框文本发生改变的时候执行
                return false;
            }
        });
      

    *编辑框获取焦点和失去焦点时的监听

        searchview.setOnQueryTextFocusChangeListener(new View.OnFocusChangeListener() {
            @Override
            public void onFocusChange(View v, boolean hasFocus) {
                //当得到焦点和失去焦点的时候执行
            }
        });
    

    [本章完...]

    相关文章

      网友评论

        本文标题:SearchView使用

        本文链接:https://www.haomeiwen.com/subject/eqgpsctx.html