本节要讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,当我们输入是网址点击将打开浏览器程序.而Linkify很好的解决了这个问题.我们将分四步来完成这个Demo.
Step 1:新建一个Android工程,命名为LinkifyDemo.
Step 2:打开main.xml文件,将其内容修改为如下内容:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="请输入电话或者E-mail或者网址:"
/>
<EditText
android:id="@+id/et1"
android:layout_width="340px"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Step 3:在主应用程序LinkifyDemo.java里代码修改如下:
package com.android.test;
import android.app.Activity;
import android.os.Bundle;
import android.text.util.Linkify;
import android.view.KeyEvent;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
public class LinkifyDemo extends Activity {
private EditText et;
private TextView tv;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//获取资源
et = (EditText)findViewById(R.id.et1);
tv = (TextView)findViewById(R.id.tv1);
//增加事件响应
et.setOnKeyListener(new EditText.OnKeyListener(){
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
tv.setText(et.getText());
//判断输入的类型是哪种,并与系统连接
Linkify.addLinks(tv, Linkify.WEB_URLS|
Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS);
return false;
}
});
}
}
扩展学习:
当然我们还有更简单的方法.就是在main.xml里id为tv的TextView里申明这句话也就是:
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:autoLink="web|phone|email"
/>
也能达到同样的效果,呵呵.今天到此结束,谢谢大家!
分享到:
相关推荐
Andoid自动判断输入是电话,网址或者Email的方法----Linkify的应用,本教程主讲的是,当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,...
本篇文章小编为大家介绍,在Android中 自动判断是电话,网址,EMAIL方法之Linkify的使用。需要的朋友参考下
const linkify = require ( "marked-linkify-it" ) ; // or ES Module script // import marked from "https://cdn.jsdelivr.net/gh/markedjs/marked/lib/marked.esm.js"; // import linkify from ...
android-linkify android linkify SpannableString
android 具有正确表达式的TextView Linkify规则
use ( vLinkify )本地安装component.vue import { vLinkify as linkify } from "v-linkify" ;export default { directives : { linkify }}基本用法< template> < div> v-linkify ...
前端项目-jQuery-linkify,智能链路识别,方便
React简单的Linkify React Easy Linkify是React的组件,用于查找URL /提及/标签并将其转换为Links。 该软件包基于 。 我重写了它的scanner ,React Component和Plugin Module,使它们更加灵活。 非常重要的是,我使...
<Linkify>See examples at tasti.github.io/react-linkify/.</Linkify> 呈现给: 请参阅tasti.github.io/react-linkify/示例。 先进的 如果您感到懒惰,可以将Linkify包装在您希望链接变为可单击的任何位置。 ...
前端项目-angular-linkify,用于链接URL、“@”用户名和哈希标记的角度过滤器。
资源分类:Python库 所属语言:Python 资源全名:mdx_linkify-2.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Laravel开发-linkify 将文本中的URL和电子邮件地址转换为HTML链接,其扩展自mist\linify,还支持laravel 5
NULL 博文链接:https://goldenrod-z4.iteye.com/blog/1023532
const { UrlMatcher , Linkifier } = require ( "linkify-plus-plus-core" ) ; // or use the matcher only const { UrlMatcher } = require ( "linkify-plus-plus-core/lib/url-matcher" ) 在dist文件夹中还有一个...
When android:autoLink="all" or Linkify.addLinks(textView, Linkify.ALL) is used to add links to web URLs, phone-numbers, map addresses or email addresses in a TextView, Android uses a class known as ...
前端开源库-html-linkifyHTML链接,将纯文本链接转换为HTML定位元素
安装npm install linkify-it --save 还支持浏览器化。用法示例例子1 var linkify = require ( 'linkify-it' ) ( ) ;// Reload full tlds list & add unofficial `.onion` domain.linkify . tlds ( require ( 'tlds' ...
自动将粘贴的URL转换为链接。 WordPress具有出色的功能,将URL粘贴到选定的文本上会自动将该文本转换为链接。 现在您可以在任何地方做! 这支持HTML,Markdown,BBcode,Remarkup和Trac样式的链接。 在大多数网站上...
资源来自pypi官网。 资源全名:mdx_linkify-1.3.tar.gz
4.15 动态输入日期与时间——DatePicker与TimePicker应用 4.16 猜猜红心A在那儿——ImageView点击事件与透明度处理 4.17 后台程序运行进度提示——ProgressBar与Handler的整合应用 4.18 动态文字排版——GridView与...