SearchView

布局:

XML布局:
    <android.support.v7.widget.SearchView
    android:id="@+id/search_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:imeOptions="actionSearch"
    app:iconifiedByDefault="false"
    app:goIcon="@android:drawable/ic_search_category_default"
    app:queryHint="@string/hint"
    app:searchHintIcon="@android:drawable/sym_call_missed"
    app:searchIcon="@android:drawable/sym_action_email" />

        iconifiedByDefault设置为false,默认展开
        goIcon点击搜索按钮
        queryHint搜索提示
        searchHintIcon提示图标
        searchIcon收缩的图标
    获取实例:
        mSearchView = (SearchView) findViewById(R.id.search_view);

联合toolbar
     <item
    android:id="@+id/search"
    android:icon="@android:drawable/ic_menu_search"
    android:title="menu搜索"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="collapseActionView|ifRoom" />
    获取实例
    MenuItem searchMenuItem = menu.findItem(R.id.search);
    //使用v7的时候,需要使用MenuItemCompat
    SearchView searchView =
            (SearchView) MenuItemCompat.getActionView(searchMenuItem)

常用功能:

mSearchView.setIconifiedByDefault(false);  //设置false,SearchView会一直处于展开状态
mSearchView.setIconified(false);  //设置为false,SearchView会展开,反之会缩成1个Icon
mSearchView.setQueryHint(getString(R.string.hint));  //设置提示文字
mSearchView.setSubmitButtonEnabled(true);

1、监听器

mSearchView.setOnQueryTextListener(new SearchView.OnQueryTextListener())

2、获取实例

通过反射:

try {
        Field field = mSearchView.getClass().getDeclaredField("mSearchSrcTextView");
        field.setAccessible(true);
        //通过反射拿到SearchView里面的SearchAutoComplete组件,输入框里的文字
        mSearchSrcTextView = (SearchView.SearchAutoComplete) field.get(mSearchView);
        //同样的
                mSearchButton = (ImageView) findViewById(R.id.search_button);//
                mGoButton = (ImageView) findViewById(R.id.search_go_btn);
                mCloseButton = (ImageView) findViewById(R.id.search_close_btn);
                mVoiceButton = (ImageView) findViewById(R.id.search_voice_btn);
                mCollapsedIcon = (ImageView) findViewById(R.id.search_mag_icon);
                mSearchPlate = findViewById(R.id.search_plate);//下划线
    } catch (NoSuchFieldException e) {
        e.printStackTrace();
    } catch (IllegalAccessException e) {
        e.printStackTrace();
    }

通过findViewById

    mSearchSrcTextView = (SearchView.SearchAutoComplete)
            mSearchView.findViewById(android.support.v7.appcompat.R.id.search_src_text);

3、搜索实例

    int id_wight = searchView.getResources().getIdentifier("android:id/search_src_text", null, null);
    int id_v7 = R.id.search_src_text;
    AutoCompleteTextView completeText = (AutoCompleteTextView) searchView
            .findViewById(id_v7) ;
    completeText.setThreshold(0);//代表输入长度为0即显示提示列表,往后以此类推。
    completeText.setAdapter(new ArrayAdapter<>(this,android.R.layout.simple_list_item_1,list));//数据源
    completeText.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            searchView.setQuery(testStrings[position],true);//ture表示提交该字符串,为false为不提交。
        }
    });

4、取消默认自动获取焦点

    设置父控件的属性
    android:focusable="true"
    android:focusableInTouchMode="true"

    //如果软键盘已经出现则关闭软键盘
    View view = getActivity().getWindow().peekDecorView();
    if (view != null) {
     InputMethodManager inputMethodManager = (InputMethodManager) getActivity()
              .getSystemService(Context.INPUT_METHOD_SERVICE);
     inputMethodManager.hideSoftInputFromWindow(view.getWindowToken(), 0);
              }
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统根据B/S,即所谓的电脑浏览器/网络服务器方式,运用Java技术性,挑选MySQL作为后台系统。系统主要包含对客服聊天管理、字典表管理、公告信息管理、金融工具管理、金融工具收藏管理、金融工具银行卡管理、借款管理、理财产品管理、理财产品收藏管理、理财产品银行卡管理、理财银行卡信息管理、银行卡管理、存款管理、银行卡记录管理、取款管理、转账管理、用户管理、员工管理等功能模块。 文中重点介绍了银行管理的专业技术发展背景和发展状况,随后遵照软件传统式研发流程,最先挑选适用思维和语言软件开发平台,依据需求分析报告模块和设计数据库结构,再根据系统功能模块的设计制作系统功能模块图、流程表和E-R图。随后设计架构以及编写代码,并实现系统能模块。最终基本完成系统检测和功能测试。结果显示,该系统能够实现所需要的作用,工作状态没有明显缺陷。 系统登录功能是程序必不可少的功能,在登录页面必填的数据有两项,一项就是账号,另一项数据就是密码,当管理员正确填写并提交这二者数据之后,管理员就可以进入系统后台功能操作区。进入银行卡列表,管理员可以进行查看列表、模糊搜索以及相关维护等操作。用户进入系统可以查看公告和模糊搜索公告信息、也可以进行公告维护操作。理财产品管理页面,管理员可以进行查看列表、模糊搜索以及相关维护等操作。产品类型管理页面,此页面提供给管理员的功能有:新增产品类型,修改产品类型,删除产品类型。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值