【原创】在Android系统下实现抓词

news/2024/7/5 3:55:01

  对于TextView显示的内容,通过点击屏幕,就能把当前显示的内容获取出来。以下的例子是通过判断空格来区分每个词,对于英文单词是适用的,如果想抓中文就得自己想办法了,当然也可以改变判断来抓词。

  实现代码主码有

TextPaint	paint = text.getPaint();
				float x, y;
				String str = text.getText().toString().replace(",", " ").replace("-", " ");
				String temp = " ";
				x = event.getX();
				y = event.getY();
				for (int i = 0; i < str.length(); i++) {
					char ch = str.charAt(i);
					if (ch == ' ') {
						temp = temp + " " + i;
					}
				}
				temp = temp + " " + str.length();
				String[] nums = temp.trim().split(" ");// 获取空格位置
				String subArg[] = str.split(" ");// 获取无空格的字符
				if (subArg.length == 1) {
					System.out.println(new String(subArg[0]));
				} else {
					for (int i = 1; i < subArg.length; i++) {
						if (x <= (paint.measureText(str.substring(0, Integer.parseInt(nums[i]))))&& x > (paint.measureText(str.substring(0,Integer.parseInt(nums[i - 1]) + 1)))) {
							System.out.println(new String(subArg[i]));
						} else if (x <= (paint.measureText(str.substring(0,Integer.parseInt(nums[0]))))) {
							System.out.println(new String(subArg[0]));
						}
					}
				}
主要思路是按照空格的位置和点击屏幕的x坐标来判断。

转载于:https://www.cnblogs.com/etgyd/archive/2011/07/12/2104067.html


http://www.niftyadmin.cn/n/3612825.html

相关文章

国外人经常上的网站,即全球各个领域最大的互联网网站

由于身处的行业原因&#xff0c;我经常上中国以外的互联网&#xff0c;其实全世界的网民跟国内的网民差不多&#xff0c;他们也经常上网&#xff0c;玩空间、网络视频、分享照片、写博客。由于国内对于互联网的封锁&#xff0c;所以国内大部分的童鞋并不了解外国人的上网都去哪…

MPEG1 Layer3 (MP3)解码算法原理详解

本文介绍了符合ISO/IEC 11172-3(MPEG 1 Audio codec Layer I, Layer II and Layer III audio specifications) 或 ISO/IEC 13818-3(BC Audio Codec)的音频编码原理。通过madlib解码库进行实现。1、程序系统结构其中同步及差错检查包括了头解码模块在主控模块开始运行后&#xf…

音频采样---解释

数码音频系统是通过将声波波形转换成一连串的二进制数据来再现原始声音的&#xff0c;实现这个步骤使用的设备是模/数转换器&#xff08;A/D&#xff09;它以每秒上万次的速率对声波进行采样&#xff0c;每一次采样都记录下了原始模拟声波在某一时刻的状态&#xff0c;称之为样…

ffmpeg库音频解码示例

一个英文版的例子&#xff08;有讲解&#xff09;ffmpeg的一些使用例子mpeg and SDL Tutorialffmpeg编译相关ffmpeg工作组(中文) #include <stdio.h>#include <stdlib.h>extern "C"{//#include "avcodec.h"#include "avformat.h"} i…

关于H264,X264,DivX,Xvid的小知识(转载)

HDTV的概念HDTV即High-Definition TV &#xff0c;高清晰数字电视。这个概念其实可以非常简单地表达出来。所谓“数字”&#xff0c;是相对于原来的“模拟”而言&#xff0c;是指拍摄、编辑、制作、传输、接收等全过程都使用数字技术的电视系统。所谓“高清晰”&#xff0c;则是…

如何在浏览器中获取当前执行的脚本文件名

背景 同事提了一个问题&#xff0c;如何在浏览器中动态插入的 JavaScript 文件中&#xff0c;获取当前文件名&#xff1f; 除了服务器输出一个文件名外&#xff0c;在脚本中获取应该只有下面三种做法。 解法A 普遍的解法&#xff0c;只能用于页面静态scripts标签引入或者单个动…

视频播放的基本原理(转)

当初看VLC代码花了不少时间&#xff0c;其中很大的原因是不太了解视频播放的基本原理。现在看来&#xff0c;几乎所有的视频播放器&#xff0c;如VLC、MPlayer、Xine&#xff0c;包 括DirectShow&#xff0c;在播放视频的原理和架构上都是非常相似的&#xff0c;理解这个对理解…

wav 文件结构

WAVE是录音时用的标准的WINDOWS文件格式&#xff0c;文件的扩展名为“WAV”&#xff0c;数据本身的格式为PCM或压缩型。 WAV文件格式是一种由微软和IBM联合开发的用于音频数字存储的标准&#xff0c;它采用RIFF文件格式结构&#xff0c;非常接近于AIFF和IFF格式。符合 PIFF R…