美国上市公司

亿元级外企IT培训企业

  • 全国服务监督电话400-827-0010
IT培训 > 资料库 > android Linkify的用法
  • android Linkify的用法

    发布:IT培训 来源:资料库 时间:2014-12-29

  • 之前一直疑惑android上的链接是怎么生成的,今天终于知道了,happy的同时,把这个小东西跟朋友们分享以下。

    首先还是延续我一贯的作风,先贴出来布局页面的代码(linkifylayout.xml)

    xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="wrap_content"

    android:layout_height="wrap_content"

    android:orientation="vertical">

    android:layout_width= "wrap_content"

    android:layout_height="wrap_content">

    android:layout_width= "wrap_content"

    android:layout_height="wrap_content">

    主程序LinkifyTextView.java

    package test.shi;

    import android.app.Activity;

    import android.os.Bundle;

    import android.text.util.Linkify;

    import android.view.KeyEvent;

    import android.view.View;

    import android.widget.*;

    public class LinkifyTextView extends Activity {

    private TextView myTextView1;

    private EditText myEditText1;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

    // TODO Auto-generated method stub

    super.onCreate(savedInstanceState);

    setContentView(R.layout.linkifylayout);

    myTextView1=(TextView)findViewById(R.id.myTextView1);

    myEditText1=(EditText)findViewById(R.id.myEditText1);

    myEditText1.setOnKeyListener(new EditText.OnKeyListener()

    {

    @Override

    public boolean onKey(View v, int arg1, KeyEvent arg2) {

    // TODO Auto-generated method stub

    myTextView1.setText(myEditText1.getText());

    //此处是关键,感应myTextView1是web链接还是email链接,或者是电话号码

    Linkify.addLinks

    (

    myTextView1,Linkify.WEB_URLS|

    Linkify.EMAIL_ADDRESSES|

    Linkify.PHONE_NUMBERS

    );

    return false;

    }

    });

    }

    }

    除了使用Linkify之外,还可以在linkifylayout.xml文件中设置TextView的android:autoLink实现这种HyperLink的效果。如下:

    android:layout_width= "wrap_content"

    android:layout_height="wrap_content"

    android:autoLink="web|email|phone">

    通过在程序中设置

    myTextView1.setText(“http://www.google.cn”);

    myTextView1.setText(“13512345678”);

    myTextView1.setText(“hello@126.com”);

    这样运行时myTextView1就会生成链接,当用户点击时,会自动调用系统的Intent,以浏览器打开网址、发送邮件或拨打电话。

  • 上一篇:android输入法控制显示

    下一篇:自己写的Android的Launcher

2001-2016 达内国际公司(TARENA INTERNATIONAL,INC.) 版权所有 京ICP证08000853号-56