搜索框

作者: 沈溺_16e5 | 来源:发表于2019-04-27 16:17 被阅读0次
搜索框.gif

1、添加依赖

//    侧滑菜单、TabLayout
implementation 'com.android.support:design:28.0.0'
//搜索框
implementation 'com.miguelcatalan:materialsearchview:1.4.0'

2、xml布局

搜索框在Toolbar上
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="?attr/actionBarSize"
        android:background="?attr/colorPrimaryDark"
        app:titleTextColor="#FFFFFF">

        </android.support.v7.widget.Toolbar>

        <com.miguelcatalan.materialsearchview.MaterialSearchView
            android:id="@+id/search_view"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" />

</FrameLayout>

3、在res文件夹下创建menu文件夹

options_menu.xml

选项菜单的图片和标题是系统的,不需要自己添加

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto">
    <item android:id="@+id/action_search"
        android:icon="@drawable/ic_action_action_search"
        android:orderInCategory="100"
        android:title="@string/abc_search_hint"
        app:showAsAction="always"/>
</menu>

4、在Activity中

1
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.options_menu, menu);
        mSearchItem = menu.findItem(R.id.action_search);
        // setVisible 设置选项菜单按钮显示或隐藏,true 显示,false 隐藏
        mSearchItem.setVisible(false);
        searchView.setMenuItem(mSearchItem);
        return true;
    }
2
        searchView.setOnQueryTextListener(new MaterialSearchView.OnQueryTextListener() {
            @Override
            public boolean onQueryTextSubmit(String query) {
                //提交搜索内容时的监听
                //Toast.makeText(MainActivity.this, "提交的内容:"+query, Toast.LENGTH_SHORT).show();
                return false;
            }

            @Override
            public boolean onQueryTextChange(String newText) {
                //文本发生改变的监听
                //Toast.makeText(MainActivity.this, newText, Toast.LENGTH_SHORT).show();
                return false;
            }
        });

        searchView.setOnSearchViewListener(new MaterialSearchView.SearchViewListener() {
            @Override
            public void onSearchViewShown() {
                //搜索框展开
                Toast.makeText(MainActivity.this, "展开", Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onSearchViewClosed() {
                //搜索框关闭
                Toast.makeText(MainActivity.this, "关闭", Toast.LENGTH_SHORT).show();
            }
        });

        //显示提示信息
        //searchView.setSuggestions(getResources().getStringArray(R.array.query_suggestions));
提示信息

在values文件夹下的strings.xml文件里

    <string-array name="query_suggestions">
        <item>Android</item>
        <item>iOS</item>
        <item>SCALA</item>
        <item>Ruby</item>
        <item>JavaScript</item>
    </string-array>
3、显示隐藏搜索框
//显示隐藏搜索框,其实就是显示隐藏选项菜单
mSearchItem.setVisible(true);
mSearchItem.setVisible(false);
4
/**
* 按回退键会调用这个方法
*/
@Override
public void onBackPressed() {
    // 如果搜索框是展开的就关闭搜索框
    if (searchView.isSearchOpen()) {
        searchView.closeSearch();
    }
}

相关文章

  • 搜索框控制器问题总结

    最简易的搜索框控制器 设置搜索框uisearchBar的背景色 设置搜索框弹出的背景色 去掉搜索框的黑线 修改光标颜色

  • 子类控件-快捷代码

    按钮 搜索框 点击跳转 搜索框 点击搜索 KVO 保存图片 判断viewLoad是否加载 for 循环

  • 搜索框

    #import "RootViewController.h" //编辑搜索框需要遵守两个协议: //UISearc...

  • 搜索框

    来一张效果图看看,在这里不能传视频,(鼠标放置时,搜索框变长,背景颜色改变): 先来看一下HTML代码,很简单,就...

  • 搜索框

    https://my.oschina.net/u/2340880/blog/509756 (搜索框的详细属性方法)...

  • 搜索框

    使用type=search的元素 在元素内,使用appearance:none 使用伪元素,去掉不必要的样式 以上...

  • 搜索框

    最近自己在写一个APP,其中需要实现搜索框搜索功能,于是乎就想写篇博客介绍下UISearchController和...

  • 搜索框

  • 搜索框

    要实现一个搜索功能,筛选功能。用系统自带的UISearchController有一些问题,不够灵活, 所以使用自定...

  • 搜索框

    1、添加依赖 2、xml布局 搜索框在Toolbar上 3、在res文件夹下创建menu文件夹 options_m...

网友评论

      本文标题:搜索框

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