MCPcopy Index your code
hub / github.com/armcha/AutoLinkTextView

github.com/armcha/AutoLinkTextView @0.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.2.0 ↗ · + Follow
50 symbols 96 edges 11 files 10 documented · 20%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

AutoLinkTextView

Android Arsenal

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).

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

Download


Gradle:

compile 'com.github.armcha:AutoLinkTextView:0.2.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));

Enable under line

autoLinkTextView.enableUnderLine();


Contact

Pull requests are more than welcome. Please fell free to contact me if there is any problem when using the library.

  • Email: armcha01@gmail.com
  • Facebook: https://web.facebook.com/chatikyana
  • Google +: https://plus.google.com/112011638040018774140
  • Website: http://luseen.com/
  • Twitter: http://twitter.com/@ArmanChatikyan

License

  Space Navigation library for Android
  Copyright (c) 2016 Arman Chatikyan (https://github.com/armcha/AutoLinkTextView).

  Licensed under the Apache License, Version 2.0 (the "License");
  you may not use this file except in compliance with the License.
  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.

Extension points exported contracts — how you extend this code

AutoLinkOnClickListener (Interface)
Created by Chatikyan on 25.09.2016-21:24. [1 implementers]
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkOnClickListener.java

Core symbols most depended-on inside this repo

setPressed
called by 3
autolinklibrary/src/main/java/com/luseen/autolinklibrary/TouchableSpan.java
getPressedSpan
called by 2
autolinklibrary/src/main/java/com/luseen/autolinklibrary/LinkTouchMovementMethod.java
getAutoLinkMode
called by 2
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkItem.java
isValidRegex
called by 1
autolinklibrary/src/main/java/com/luseen/autolinklibrary/Utils.java
getRegexByAutoLinkMode
called by 1
autolinklibrary/src/main/java/com/luseen/autolinklibrary/Utils.java
getMatchedText
called by 1
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkItem.java
getStartPoint
called by 1
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkItem.java
getEndPoint
called by 1
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkItem.java

Shape

Method 39
Class 9
Enum 1
Interface 1

Languages

Java100%

Modules by API surface

autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkTextView.java19 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkItem.java6 symbols
app/src/main/java/com/luseen/activetextview/MainActivity.java5 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/TouchableSpan.java4 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/Utils.java3 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/LinkTouchMovementMethod.java3 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkMode.java3 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/AutoLinkOnClickListener.java2 symbols
app/src/test/java/com/luseen/activetextview/ExampleUnitTest.java2 symbols
app/src/androidTest/java/com/luseen/activetextview/ExampleInstrumentedTest.java2 symbols
autolinklibrary/src/main/java/com/luseen/autolinklibrary/RegexParser.java1 symbols

For agents

$ claude mcp add AutoLinkTextView \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact