Spannableを使用してTextView内のURLのリンクをタップできるようにしたのですがellipsizeの設定が無効になってしまいます。
海外のStackOverFlowでも同じような質問がありましたがイマイチ解決策が分かりません。

https://stackoverflow.com/questions/14691511/textview-using-spannable-ellipsize-doesnt-work

解決方法について知見のある方がいらっしゃれば教えていただければと思います。

下記が現在のコードです。
xml

<TextView
    android:id="@+id/message"
    style="@style/MessageStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"/>

style

<style name="MessageStyle">
    <item name="android:maxLines">5</item>
    <item name="android:ellipsize">end</item>
    <item name="android:textSize">14sp</item>
    <item name="android:textColor">@color/textColorSubTitle</item>
</style>

SpannableStringのカスタムクラス

public class URLLinkSpannableString extends android.text.SpannableString {

    public URLLinkSpannableString(CharSequence c) {
        super(c);

        final Pattern URL_PATTERN = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:\\#\\?\\=\\&\\;\\%\\~\\+]+", Pattern.CASE_INSENSITIVE);
        final Matcher matcher = URL_PATTERN.matcher(c);

        while (matcher.find()) {
            String matcherText = matcher.group();
            setSpan(new URLSpan(matcherText), matcher.start(), matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        }
    }
}

TextViewにセットする部分(※RecyclerViewAdapter内で使用しています。)

    holder.getMessageTextView().setText(new URLLinkSpannableString(activity.getMessage()));
    holder.getMessageTextView().setMovementMethod(LinkMovementMethod.getInstance());