全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android顶部(toolbar)搜索框实现的实例详解

Android顶部(toolbar)搜索框实现的实例详解

本文介绍两种SearchView的使用情况,一种是输入框和搜索结果不在一个activity中,另一种是在一个activity中。
首先编写toolbar的布局文件 toolbar中图标在menu文件下定义一个布局文件实现

示例代码:

<menu xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:app="http://schemas.android.com/apk/res-auto"
  xmlns:tools="http://schemas.android.com/tools"
  tools:context=".MainActivity" >

  <item
    android:id="@+id/ab_search"
    android:orderInCategory="60"
    android:title="action_search"
    app:actionViewClass="android.support.v7.widget.SearchView"
    app:showAsAction="ifRoom"/>
</menu>

menu下只有item和group两种子节点,这里不具体介绍,actionViewClass的作用是让这个item的显示形式,我们这里使用自带的搜索框。

然后在你xml文件下编写searchable.xml文件

<?xml version="1.0" encoding="utf-8"?>

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
  android:label="@string/app_name"
  android:imeOptions="actionSearch"
  android:hint="姓名" />

imeOptions作用是键盘的回车键变成了搜索,这里还有其他选项,不做介绍。actionSearch是将回车键显示为搜索键。

然后在activity中实现,这里一定要先实现toolbar,不在贴出代码,

然后重写这个方法,得到SearchView

 @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.toolbar_menu_friend, menu);
    SearchManager searchManager =
        (SearchManager) getSystemService(Context.SEARCH_SERVICE);
    SearchView searchView =
        (SearchView) menu.findItem(R.id.ab_search).getActionView();
    searchView.setSearchableInfo(
        searchManager.getSearchableInfo(getComponentName()));
    return true;
  }

然后在新建一个activity,为处理搜索结果的界面,命名为SearchResultActivity。

String SearchContent = getIntent().getStringExtra(SearchManager.QUERY); 

这样SearchContent里面就是你在搜索框中输入的内容。

接下来在配置文件中对activity进行配置

<activity android:name=".activity.MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
      <meta-data android:name="android.app.default_searchable"
        android:value=".activity.SearchResultActivity"/>
    </activity>

-----------------------分割线---------------------------

<activity android:name=".activity.SearchResultActivity"
      android:parentActivityName=".activity.MainActivity">
      <meta-data
        android:name="android.support.PARENT_ACTIVITY"
        android:value=".activity.MainActivity" />
      <!-- meta tag and intent filter go into results activity -->
      <meta-data android:name="android.app.searchable"
        android:resource="@xml/searchable" />
      <intent-filter>
        <action android:name="android.intent.action.SEARCH" />
      </intent-filter>
    </activity>

以上是搜索框和搜索结果不在一个activity中。

如果在一个activity中,方法都不变,只是在配置文件中具有搜索框的acitivity中配置这两个就行了

<meta-data android:name="android.app.searchable" 
android:resource="@xml/searchable" /> 
<intent-filter> 
<action android:name="android.intent.action.SEARCH" /> 
</intent-filter>

效果图:

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android顶部(toolbar)搜索框的实现  # Android  # toolbar  # 实现搜索框  # Android 使用Toolbar实现应用栏实例详解  # Android手册之Toolbar搜索联动及监听小技巧  # Android自定义ToolBar并实现沉浸式的方法  # Android Toolbar自定义标题标题居中的实例代码  # android顶部(toolbar)搜索框实现代码  # android ToolBar的简单使用  # Android Toolbar应用栏使用方法简介  # 搜索结果  # 回车键  # 配置文件  # 是在  # 如有  # 你在  # 两种  # 这两个  # 希望能  # 重写  # 不做  # 自带  # 谢谢大家  # 中对  # 命名为  # 贴出  # 输入框  # 新建一个  # 疑问请  # 变成了 


相关文章: 如何解决ASP生成WAP建站中文乱码问题?  如何在云虚拟主机上快速搭建个人网站?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何有效防御Web建站篡改攻击?  无锡制作网站公司有哪些,无锡优八网络科技有限公司介绍?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  制作网站的基本流程,设计网站的软件是什么?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何通过多用户协作模板快速搭建高效企业网站?  已有域名如何快速搭建专属网站?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  如何快速搭建响应式可视化网站?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  如何通过VPS建站实现广告与增值服务盈利?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  油猴 教程,油猴搜脚本为什么会网页无法显示?  建站之星免费版是否永久可用?  如何快速搭建高效WAP手机网站吸引移动用户?  Thinkphp 中 distinct 的用法解析  如何在阿里云虚拟主机上快速搭建个人网站?  昆明网站制作哪家好,昆明公租房申请网上登录入口?  齐河建站公司:营销型网站建设与SEO优化双核驱动策略  攀枝花网站建设,攀枝花营业执照网上怎么年审?  网站制作公司排行榜,四大门户网站排名?  公司网站设计制作厂家,怎么创建自己的一个网站?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  建站之星客服服务时间及联系方式如何?  手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?  设计网站制作公司有哪些,制作网页教程?  网站制作网站,深圳做网站哪家比较好?  建站之星如何快速生成多端适配网站?  网站企业制作流程,用什么语言做企业网站比较好?  如何在西部数码注册域名并快速搭建网站?  php8.4新语法match怎么用_php8.4match表达式替代switch【方法】  建站主机是否属于云主机类型?  建站主机选哪种环境更利于SEO优化?  建站之星安装后如何配置SEO及设计样式?  如何在VPS电脑上快速搭建网站?  如何在宝塔面板中修改默认建站目录?  建站主机是什么?如何选择适合的建站主机?  如何通过网站建站时间优化SEO与用户体验?  如何快速使用云服务器搭建个人网站?  定制建站策划方案_专业建站与网站建设方案一站式指南  临沂网站制作公司有哪些,临沂第四中学官网?  唐山网站制作公司有哪些,唐山找工作哪个网站最靠谱?  Python如何创建带属性的XML节点  如何选择美橙互联多站合一建站方案?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  如何在万网主机上快速搭建网站?  如何在Golang中使用replace替换模块_指定本地或远程路径 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。