- 浏览: 217459 次
- 性别:
- 来自: 武汉
文章分类
- 全部博客 (110)
- java (111)
- c# winform tablelayoutpanel学习 合并行的布局及动态增加删除内部控件 (1)
- javascript常用正则 (1)
- 认识Java程序 (1)
- UniqTask for android (1)
- JAX-RS 从傻逼到牛叉 2:开发一个简单的服务 (1)
- Spring MVC 数据绑定的扩展 (1)
- 手机分辨率 (1)
- tomcat的favicon.ico的用法 (1)
- Cookie读写demo (1)
- hive相关操作文档收集 (1)
- 测试开发工程师的发展 (1)
- JSF入门十(自定义转换器) (1)
- 《你能行:微软精英的职场心里话》 (1)
- JNI程序如何检测C代码的内存泄漏 (1)
- 做了几天的调研工作 (1)
- 使用Microsoft Web Application Stress进行压力测试 (1)
- 在线共享音乐吧(Online Share Music Bar)解决方案 (1)
- 如何二次压缩RM和RMVB格式文件 (1)
- 突然想起了红色联盟 就去看了看 (1)
- 推荐两个关于DB2认证的站点 (1)
- 安装Microsoft .NET Framework SDK 快速入门、教程和示例 (1)
- 去掉C/C++程序代码中的注释 (1)
- 数据结构之kmp模式匹配 (1)
- JS跨域 (1)
- SP2-0734: 未知的命令开头 "exp test/t..." - 忽略了剩余的行 解决办法 (1)
- Android开发之fedora13下编译Android源码 (1)
- Android开发之Linkify (1)
- json学习之三:JSONArray的应用 (1)
- js 数组操作代码集锦 (1)
- jquery跨域调用json数据 (1)
- qtdemo浅析 (1)
最新评论
-
songshuang:
最近怎么都盗我的文
做个小调查,程序员们都是什么星座的?
<h1>Android开发之Linkify</h1>
<p>/*</p>
<p>* Android开发之PopupWindow</p>
<p>*</p>
<p>* Created on: 2011-8-11</p>
<p>* Author: blueeagle</p>
<p>* Email: liujiaxiang@gmail.com</p>
<p>*/</p>
<p></p>
<p>Linkify是一个helper类,他会自动地在TextView类(或者TextView的派生类)中通过RegEx模式匹配来创建超链接。</p>
<p> 那些匹配一个特定的RegEx模式的文本都将会被转换为一个可以单击的超链接,这些超链接可以隐式地使用匹配的字符串作为目标URI来触发StartActivity(new Intent(Intent.ACTION_VIEW,uri))。可以指定任何希望转换为连接的字符串模式。</p>
<p> 静态的Linkify.addLinks方法可以通过接受View来建立链接,Linkify类提供并支持一种或者多种默认的内容类型的位掩码(bitmask):WEB_URLS、EMAIL_ADDRESSES、PHONE_NUMBERS和ALL。</p>
<p> 下面的代码段展示了如何通过一个TextView来把Web和E-mail地址显示为超链接。当单击这些超链接的时候,他们就会分别打开浏览器或者电子邮件服务器。</p>
<p> 可以使用android:autoLink属性来在一个布局资源内部linkify View。它支持下列一个或者多个(使用|分隔开)顾名思义的值:none,web,email,phone,或者all。</p>
<p> 在布局文件和JAVA文件中可以做如下设置:</p>
<p><TextView android:id="@+id/myTextView1"<br>
android:layout_width= "wrap_content"<br>
android:layout_height="wrap_content"<br>
android:autoLink="web|email|phone"><br>
</TextView><br>
通过在程序中设置<br>
myTextView1.setText(“http://www.baidu.com”);<br>
myTextView1.setText(“13800138000”);<br>
myTextView1.setText(“hello@163.com”);</p>
<p>也可以在string文件里设置字符串,同样,要用|字符分割开来。</p>
<p></p>
<p>下面对自定义的linkify做一些解释:搜索了一下,网上几乎所有的文章都是抄的Android高级编程这本书里的,希望大家在学习的时候多动动手,一下就抄过来真没意思。</p>
<p>自定义的linkify可以检测到特定字符串后,将其变为可点击的字符串形式从而可以从一个“源”中获取想要的东西。手册中对含有三个参数的addlinks这样写:</p>
<p>Applies a regex to the text of a TextView turning the matches into links. If links are found then UrlSpans are applied to the link text match areas, and the movement method for the text is changed to LinkMovementMethod.</p>
<p>那么用如下代码解析一下:</p>
<p align="left"> <strong>int</strong> flags = Pattern.<em>CASE_INSENSITIVE</em>;</p>
<p align="left"> Pattern p = Pattern.<em>compile</em>("\\bnews[0-9]*\\b", flags);</p>
<p align="left"> Linkify.<em>addLinks</em>(myTextview, p,"http://www.baidu.com/");</p>
<p align="left"> </p>
<p>这几行代码表示:[0-9]*表示通配符,0到9中没有或者有一个,<a>\\b</a>表示过滤掉前面的<a>\\b</a>当然你也可以写成”news[0-9]”;而所得的字符,将被添加到http://www.baidu.com/的后面;比如我在myTextView1.setText(“news1|news2|news”)设置以后,执行的结果将是有三个可以点击的文字,点击之后分别连接到<a href="http://www.baidu.com/news1">http://www.baidu.com/news1</a>;等当然,目前这个操作是对网页进行的操作,如果要对本地的内容提供器进行操作的话,就将后面的“源”写成content://。</p>
<p>当然,上述方法不适用于建立一个文字的超链接。对于文字超链接,可以使用如下的代码:</p>
<p align="left"> SpannableString sp = <strong>new</strong> SpannableString("点击百度");
</p>
<p align="left"> //设置超链接 </p>
<p align="left"> sp.setSpan(<strong>new</strong> URLSpan("http://www.baidu.com"), 2, 4,
</p>
<p align="left"> Spanned.<em>SPAN_EXCLUSIVE_EXCLUSIVE</em>); </p>
<p align="left"> myTextview.setText(sp);</p>
<p> myTextview.setMovementMethod(LinkMovementMethod.<em>getInstance</em>());
</p>
<p>别的都没什么问题,就看那个2,4代表字符串从第三个字符起到第四个字符结束。最后一句话表示这个文字可以点击。</p>
<p></p>
<p>对于Linkify的MatchFilter和Transform Filter我认为没有什么特别的研究价值。在这里不做多的说明了。</p>
<p></p>
发表评论
-
qtdemo浅析
2012-02-07 16:14 1572[size=x-small;]? ? <span ... -
jquery跨域调用json数据
2012-02-03 11:39 1423? <script type="te ... -
js 数组操作代码集锦
2012-02-03 10:59 1138[size=small;]这段时间做的一个项目,用到数 ... -
json学习之三:JSONArray的应用
2012-02-02 15:29 71502从json数组中得到 ... -
Android开发之fedora13下编译Android源码
2012-01-11 16:04 1146<h1>Android开发之fedora1 ... -
SP2-0734: 未知的命令开头 "exp test/t..." - 忽略了剩余的行 解决办法
2011-12-28 14:13 3853<span style="font-f ... -
JS跨域
2011-12-21 16:43 2626原帖地址:http://itgeeker.com/ma ... -
数据结构之kmp模式匹配
2011-12-21 10:04 1178KMP字符串模式匹配详解 KMP字符串模式匹配通俗点说 ... -
去掉C/C++程序代码中的注释
2011-12-20 16:49 3044程序员面试宝典上面的题目有很多是很经典的问题,可供我 ... -
安装Microsoft .NET Framework SDK 快速入门、教程和示例
2011-12-19 10:09 2046Microsoft .NET Framework SD ... -
推荐两个关于DB2认证的站点
2011-12-19 09:59 845关于DB2认证的在线中文教程<br>htt ... -
突然想起了红色联盟 就去看了看
2011-12-17 10:54 1171突然想起了红色联盟,于是就偷偷的爬上红盟站点,看了看红 ... -
如何二次压缩RM和RMVB格式文件
2011-12-16 17:12 1111对RM/RMVB格式文件进行二次压缩,可以用一个软件E ... -
在线共享音乐吧(Online Share Music Bar)解决方案
2011-12-14 19:54 994</span></font>& ... -
使用Microsoft Web Application Stress进行压力测试
2011-12-14 18:33 872<font size="2" ... -
做了几天的调研工作
2011-12-14 17:29 1007</span></span> ... -
JNI程序如何检测C代码的内存泄漏
2011-12-13 14:59 1438Java调用C的JNI程序很容易出现内存泄漏问题,因为 ... -
《你能行:微软精英的职场心里话》
2011-12-12 14:39 955<p class="MsoNorm ... -
JSF入门十(自定义转换器)
2011-12-09 11:00 970本文参考 http://www.javaworld.c ... -
测试开发工程师的发展
2011-12-09 01:59 1477非常好的文章,转至:http://www.pyfans ...
相关推荐
总的来说,`Linkify` 在Android开发中为我们在`TextView`中创建链接提供了极大的便利。通过合理地配置`Linkify`规则,我们可以使应用的用户体验更加友好,同时也提高了代码的可维护性。在实际项目中,应根据需求选择...
在Android开发中,"Linkify"是一个非常实用的功能,它能帮助开发者自动将文本中的URL、电话号码、电子邮件地址等可链接的内容转化为可点击的超链接。标题"Linkify_android_"暗示我们将深入探讨如何在Android应用中...
在Android开发中,`android-linkify`是一个非常实用的工具,它可以帮助开发者自动将文本中的URL、电子邮件地址等可链接的内容转化为可点击的链接。这个功能对于那些包含大量网络资源或者需要用户快速访问链接的应用...
在Android开发中,有时我们需要在应用中处理用户输入的文本,比如当用户在EditText中输入电话号码、网址或电子邮件地址时,我们希望点击这些内容可以自动启动相应的应用程序,如拨打电话、打开网页或发送邮件。...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
Google Android SDK开发范例大全(完整版)共4个分卷 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1...
在Android开发中,实现TextView的上下滚动效果可以让信息在有限的空间内持续展示,提升用户体验。以下将详细讲解如何实现这一功能。 首先,我们要明白TextView是Android SDK中的一个基础组件,用于显示单行或多行...
2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 3.2 更改手机窗口画面底色——drawable定义颜色常数的方法 3.3 更改TextView文字颜色...
在Android开发中,有时我们需要对用户输入的字符串进行智能处理,比如当用户在文本框中输入网址、邮箱地址或者电话号码时,我们希望系统能够自动识别这些内容,并将其转化为可点击的链接,以便用户可以直接点击打开...
Google Android SDK开发范例大全(完整版) 包含部分书中源码 目录 第1章 了解.深入.动手做. 1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 ...
在Android开发中,`Linkify`是一个非常实用的工具类,它可以帮助我们将字符串中的特定模式自动转换为可点击的超链接。例如,`Linkify`默认可以识别并处理电话号码、网址以及电子邮件地址,使它们在TextView中显示...
### Google Android SDK 开发...以上是《Google Android SDK开发范例大全》中部分章节的主要知识点概述,这些知识点覆盖了Android应用开发的基础到高级技术,对于希望深入了解Android开发的人来说是非常宝贵的资源。
Andoid自动判断输入是电话,网址或者Email的方法----Linkify的应用,本教程主讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,...
在Android开发中,TextView是用于显示文本的基本组件。然而,我们常常希望在TextView中的某些文本具有超链接功能,用户点击后能够跳转到网页或执行其他操作。这就是Linkify的作用,它能帮助我们将普通文本转化为可...
余志龙,来自于手机制造业、电视媒体业、网络、电信产业、软件开发等领域,擅长嵌入式系统软件设计、J2ME游戏开发、Android开发,以及J2EE、JSP、Servlet、JavaBeans、PHP、C#等程序语言,熟悉面向对象技术与Eclipse...
在Android开发中,TextView是用于显示文本的基本组件。在许多情况下,我们可能需要在TextView中嵌入可点击的超级链接,比如展示帮助文档或者跳转到网页。本篇将详细介绍两种实现TextView超链接的方法:XML文件实现和...
在Android开发中,有时我们需要处理TextView中的链接,例如点击一个包含URI(统一资源标识符)的文本时,可能希望在用户点击后不离开当前应用,而是由我们的应用程序来处理并打开该链接。这个过程涉及到对Uri的识别...