Android-Linkify的使用

Linkify

Linkify是一个辅助类,它可以自动地在TextView(或其派生类)中通过RegEx(正则表达式)模式匹配来创建超链接。当TextView中的内容匹配成功并生成超链接之后,TextView内容的下面就会出现下划线,单击则可以触发相应的操作,例如拨号,打开浏览器等。

Linkify使用

Linkify可以在xml中使用,也可以通过Java代码使用。

XML方式

通过给TextView设置android:autoLink属性来决定要匹配TextView的内 容,这样就可以在用户单击该TextView的时候直接使用浏览器打开http://www.baidu.com。


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.ahjzu.cub.linkify.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:autoLink="phone|email|web"
        android:text="http://www.baidu.com" />
RelativeLayout>

Java代码方式

通过Linkify.addLinks方法为TextView添加匹配内容的RegEx模式。

public class MainActivity extends AppCompatActivity {

    private TextView text;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        text = (TextView) findViewById(R.id.text);
        Linkify.addLinks(text, Linkify.EMAIL_ADDRESSES|Linkify.PHONE_NUMBERS|Linkify.WEB_URLS);
    }
}

实现效果图如下

Android-Linkify的使用_第1张图片

你可能感兴趣的:(Android,TextView,Linkify,Android)