Android TextView内容设置超链接、颜色、字体

给双引号中的内容加彩色:

    private void highlightSearchHint(Spannable hintSpan){
        String hint = hintSpan.toString();
        Log.i(TAG, "highlightSearchHint " + hint);
        int index = -1;
        int start = 0;
        boolean foundStartQuote = false;

        do {
            index = hint.indexOf("/"", index + 1);
            if (foundStartQuote && index != -1) {
                foundStartQuote = false;
                Log.i(TAG, "highlight from " + (start+1) + " to " + index);
                /*每次setSpan必须用一个全新的ForegroundColorSpan对象*/
                ForegroundColorSpan hintColor = new ForegroundColorSpan(Color.parseColor("#01A8FF"));
                hintSpan.setSpan(hintColor, start + 1, index,
                        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
            } else if (!foundStartQuote && index != -1) {
                foundStartQuote = true;
                start = index;
            }
        } while (index != -1);
    }

 

 

//创建一个 SpannableString对象   SpannableString sp = new  SpannableString( "点击谷歌链接:斜体." );

//在2-3两个字符上设置超链接  

sp.setSpan(new  URLSpan( "http://www.google.com" ), 2 , 4 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  

//在7-8两个字符上设置斜体

sp.setSpan(new  StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 7 , 9 , Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 

你可能感兴趣的:(android,String)