android关键词搜索
文章目录
- 一、需求分析
- 二、功能实现
- 1.资源文件
- 2.核心代码
- 2.效果图
一、需求分析
需要实现页面内文字搜索关键词功能,将匹配到的关键词高亮显示,且能够点击按钮切换到下一个关键词所在位置。首先需要高亮匹配到所有的关键词,这个可以使用字符串的replaceAll实现,切换到关键词的位置,需要滑动页面,那可能会想到ScrollView和TextView来实现,但是textview不是两端对齐的,获取位置会有偏差。于是想到利用webview来实现。
二、功能实现
1.资源文件
代码如下:
<EditTextandroid:id="@+id/am_et_search"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginStart="5dp"android:layout_marginTop="5dp"android:layout_marginEnd="5dp"android:layout_marginBottom="5dp"android:background="@null"android:hint="请输入关键字"android:textColor="@color/black"android:textSize="16sp" /><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="horizontal"><Buttonandroid:id="@+id/am_btn_search"android:layout_width="0dp"android:layout_weight="1"android:layout_height="match_parent"android:text="搜 索"android:textSize="16sp"android:textColor="@color/white"android:layout_margin="5dp"/><Buttonandroid:id="@+id/am_btn_next"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="下一个"android:textSize="16sp"android:textColor="@color/white"android:layout_margin="5dp"/><Buttonandroid:id="@+id/am_btn_forward"android:layout_width="0dp"android:layout_weight="1"android:layout_height="wrap_content"android:text="上一个"android:textSize="16sp"android:textColor="@color/white"android:layout_margin="5dp"/></LinearLayout><android.webkit.WebViewandroid:id="@+id/am_webview"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_marginStart="10dp"android:layout_marginEnd="10dp"android:paddingBottom="10dp" />
2.核心代码
webview的findAllAsync可以实现高亮显示匹配到的关键词,webview的findNext()方法接收一个布尔值参数,true为查找下一个,false为查找上一个。另外如果想要根据当前匹配关键词的位置做一些事情,可以调用webview的find相关的监听事件来实现。
代码如下:
webView = findViewById(R.id.am_webview);
editText = findViewById(R.id.am_et_search);
btnSearch = findViewById(R.id.am_btn_search);
btnNext = findViewById(R.id.am_btn_next);
btnForword = findViewById(R.id.am_btn_forward);
webView.loadDataWithBaseURL(null, data, "text/html", "utf-8", null);
btnSearch.setOnClickListener(view -> webView.findAllAsync(editText.getText().toString()));
btnNext.setOnClickListener(view -> webView.findNext(true));//查找下一个
btnForword.setOnClickListener(view -> webView.findNext(false));//查找上一个
2.效果图
android关键词搜索相关推荐
- android关键词检索功能,Android实现搜索关键词高亮显示-Kotlin
在做Wandroid项目时有一个搜索功能,要在搜索结果中将匹配到的关键词高亮显示.但是 玩安卓API并没有提供颜色的高亮,只有字体斜体,效果看起来并不明显,并且昵称也参与了搜索,但并没有增加HTML标 ...
- 调用天地图API实现关键词搜索
概述: 本文讲述结合天地图 js API,实现Openlayers中关键词的搜索与展示. 效果: 实现关键: 调用天地图APILocalSearch接口,实现关键词搜索,调用方式为:localsear ...
- Flink实时仓库-DWS层(关键词搜索分析-自定义函数,窗口操作,FlinkSql设置水位线,保存数据到Clickhouse)模板代码
简介 关键词搜索实时分析,技术要点,自定义FlinkSql函数,使用聚合功能把结果输出到clickhourse 前置知识 ik分词 <dependency><groupId>c ...
- android的UDC功能,Android实现搜索历史功能
本文实例为大家分享了Android实现搜索历史的具体代码,供大家参考,具体内容如下 SharedPreferences实现本地搜索历史功能,覆盖搜索重复的文本,可清空 1. 判断搜索内容是否含表情,不 ...
- android 键盘搜索按钮不收起键盘,android EditText 实现搜索框点击搜索隐藏键盘
布局: android:id="@+id/search_input" android:background="#00000000" android:layout ...
- Android 系统搜索框(有浏览记录)
实现Android 系统搜索框(有浏览记录),先看下效果: 一.配置搜索描述文件 要在res中的xml文件加创建sreachable.xml,内容如下: <?xml version=" ...
- Mr.J--Javascript表格创建 模糊搜索 关键词搜索
本文章主要是了解js制作表格,不过现在前端一般都是用div+CSS布局,所以有兴趣的可以了解一下这种思想.在我们现实生活中表格是非常普遍的,也是非常好用的,现在我们有Excel,Word,WPS也可以 ...
- php实现关键字搜索mysql数据_PHP实现多个关键词搜索查询功能示例
本文实例讲述了PHP实现多个关键词搜索查询功能.分享给大家供大家参考,具体如下: PHP对于数据库的搜索主要通过使用SQL语句中的like子句来实现.如果同时搜索多个关键词,可以使用union子句来将 ...
- Android系统搜索对话框(浮动搜索框)的使用
http://www.ideasandroid.com/archives/310 Android系统搜索对话框(浮动搜索框)的使用 作者: ideasandroid 分类: android基础, an ...
最新文章
- 澎思科技成立新加坡研究院,将与多家机构合作研发自动驾驶等项目
- IntelliJ IDEA 2019.2最新解读:性能更好,体验更优,细节处理更完美!
- ubuntu启动时自动挂载windows分区
- Spring Cloud 应用在 Kubernetes 上的最佳实践 — 高可用(混沌工程)
- 无法设置共享文件夹的解决方法收集
- 在laravel5 中使用queue队列
- python学习-syspath、系统内置模块
- dos输入java Hello,出现错误: 找不到或无法加载主类 Hello
- Spring Boot 三大开发工具,你都用过几个?
- RabbitMQ小笔记
- Android 自定义view实现签到功能
- mysql 执行存储过程
- Xilinx火龙果学习笔记(1)---初识火龙果
- 【 网工在线画拓扑,赶紧保存收藏!】
- 机器学习教程 之 K-means聚类:简单有效的聚类方法
- 电脑如何创建html文件夹,如何在电脑上创建自己的隐私文件夹
- 前端笔试常考设计模式,操作系统,数据结构,ACM模板,经典算法,正则表达式,常用方法
- 基于AMESim的高功率密度LFP-C锂离子电池热失控仿真
- 自媒体人日常必看的7个运营学习网站,记得收藏起来
- android反编译修改教程,反编译教程