AutoLinkTextView

Additional

Language
Java
Version
0.2.0 (Oct 16, 2016)
Created
Sep 26, 2016
Updated
May 23, 2018
Owner
Arman (armcha)
Contributors
Arman (armcha)
ahmetcj4
JakeWoki
liamcottle
RockySteveJobs
5
Activity
Badge
Generate
Download
Source code
APK file

Commercial

AutoLinkTextView

AutoLinkTextView is TextView that supports Hashtags (#), Mentions (@) , URLs (http://), Phone and Email automatically detecting and ability to handle clicks.

The current minSDK version is API level 14 Android 4.0 (ICE CREAM SANDWICH).

Download sample apk

Features

  • Default support for Hashtag, Mention, Link, Phone number and Email
  • Support for custom types via regex
  • Ability to set text color
  • Ability to set pressed state color
  • Ability to make specific modes bold

#Download

Gradle:

compile 'com.github.armcha:AutoLinkTextView:0.3.0'

Setup and usage

Add AutoLinkTextView to your layout

    <com.luseen.autolinklibrary.AutoLinkTextView
         android:id="@+id/active"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content" />
AutoLinkTextView autoLinkTextView = (AutoLinkTextView) findViewById(R.id.active);

Set up mode or modes

autoLinkTextView.addAutoLinkMode(
                AutoLinkMode.MODE_PHONE);

Set text to AutoLinkTextView

autoLinkTextView.setAutoLinkText(getString(R.string.long_text));

Set AutoLinkTextView click listener

autoLinkTextView.setAutoLinkOnClickListener(new AutoLinkOnClickListener() {
            @Override
            public void onAutoLinkTextClick(AutoLinkMode autoLinkMode, String matchedText) {

            }
        });

Customizing

AutoLinkModes

AutoLinkMode.MODE_PHONE #

AutoLinkMode.MODE_HASHTAG #

AutoLinkMode.MODE_URL #

AutoLinkMode.MODE_MENTION #

AutoLinkMode.MODE_EMAIL #

AutoLinkMode.MODE_CUSTOM # if you use custom mode, you should also add custom regex,

autoLinkTextView.setCustomRegex("\\sAllo\\b");

Note:Otherwise MODE_CUSTOM will return MODE_URL

You can also use multiple types

autoLinkTextView.addAutoLinkMode(
                AutoLinkMode.MODE_HASHTAG,
                AutoLinkMode.MODE_PHONE,
                AutoLinkMode.MODE_URL,
                AutoLinkMode.MODE_MENTION,
                AutoLinkMode.MODE_CUSTOM);

You can also change text color for autoLink mode

autoLinkTextView.setHashtagModeColor(ContextCompat.getColor(this, R.color.yourColor));
autoLinkTextView.setPhoneModeColor(ContextCompat.getColor(this, R.color.yourColor));
autoLinkTextView.setCustomModeColor(ContextCompat.getColor(this, R.color.yourColor));
autoLinkTextView.setUrlModeColor(ContextCompat.getColor(this, R.color.yourColor));
autoLinkTextView.setMentionModeColor(ContextCompat.getColor(this, R.color.yourColor));
autoLinkTextView.setEmailModeColor(ContextCompat.getColor(this, R.color.yourColor));

And also autoLink text pressed state color

autoLinkTextView.setSelectedStateColor(ContextCompat.getColor(this, R.color.yourColor));


Set modes that should be bold

autoLinkTextView.setBoldAutoLinkModes( AutoLinkMode.MODE_HASHTAG, AutoLinkMode.MODE_PHONE, AutoLinkMode.MODE_URL, AutoLinkMode.MODE_EMAIL, AutoLinkMode.MODE_MENTION );

Enable under line

autoLinkTextView.enableUnderLine();