Android TextView內容設定超連結、顏色、字型

來源:互聯網
上載者:User

給雙引號中的內容加彩色:

    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(
"點擊Google連結:斜體."
);

//在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); 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.