Android源码中的utils

2015-08-12  本文已影响636人  cd2016

这篇文章重点介绍Android源码给提供的一些可用的技巧

public class URLSpanUtil extends URLSpan {

    public URLSpanUtil(String url) {
        super(url);
    }

    @Override
    public void updateDrawState(TextPaint ds) {
        ds.setColor(UtilApplication.ctx.getResources().getColor(R.color.underline_color));
        ds.setUnderlineText(false);
    }


    @Override
    public void onClick(View widget) {
    //        super.onClick(widget);
        Context context = widget.getContext();
        String url = getURL();
        if (StrUtil.notEmptyOrNull(url)) {
            //这里简单判定url
            if (url.startsWith("http") || url.startsWith("https")) {
                //跳转到自己的webview处理
                Intent intent = new Intent(context, WebViewActivity.class);
                context.startActivity(intent);
            }else {
                super.onClick(widget);
            }
        }else {
            super.onClick(widget);
        }
    }
}

继承重写父类 达到目的 TextView 使用方法

public static void stripUnderlines(TextView textView) {
        if (null != textView && textView.getText() instanceof Spannable) {
            Spannable s = (Spannable) textView.getText();
            URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
            if (spans != null && spans.length > 0) {
                for (URLSpan span : spans) {
                    int start = s.getSpanStart(span);
                    int end = s.getSpanEnd(span);
                    s.removeSpan(span);
                    span = new URLSpanUtils(span.getURL());
                    s.setSpan(span, start, end, 0);
                }
            }
        }
    }
上一篇 下一篇

猜你喜欢

热点阅读