SpannableString的使用方法

1.在Android開發(fā)中,經(jīng)常會用到一行字,要顯示不同的顏色,如果用多個TextView的話,過于浪費空間,浪費重繪的時間,所以通常就用SpannableString來解決這個問題
2.代碼如下:

SpannableStringBuilder positionName = new SpannableStringBuilder(textStr);//傳入你的字符串
        SpannableString spannableString = new SpannableString(text);
        spannableString.setSpan(new ClickableSpan() {

            @Override
            public void updateDrawState(TextPaint ds) {
                super.updateDrawState(ds);
                ds.setColor(Color.parseColor("#999999"));//設(shè)置需要的顏色
                ds.setUnderlineText(false);
            }

            @Override
            public void onClick(View widget) {
                  //設(shè)置這段文字的點擊事件
            }
        }, 0,3, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        textview.setText(positionName.append(spannableString));//特別說明一點,在setText()方法時,傳入的值必須是SpannableStringBuilder對象,不能用positionName+spannableString的方式拼接字符串,必須是positionName.append(spannableString),否則沒有效果
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,355評論 25 708
  • ¥開啟¥ 【iAPP實現(xiàn)進入界面執(zhí)行逐一顯】 〖2017-08-25 15:22:14〗 《//首先開一個線程,因...
    小菜c閱讀 7,390評論 0 17
  • 內(nèi)容抽屜菜單ListViewWebViewSwitchButton按鈕點贊按鈕進度條TabLayout圖標下拉刷新...
    皇小弟閱讀 47,183評論 22 665
  • 雞湯文盛行的年代,情緒低落了,上網(wǎng)搜一搜心靈雞湯,心情不好沒有動力了,找雞湯補一補……雞湯有用嗎?有的。 總有那么...
    程子川zf閱讀 536評論 0 0
  • 我們彼此都在一起 安靜地看著 不論多少個十三年 我愿意我的生命與你重疊 大概清晨走過黯淡了一夜的行道樹 走過路燈 ...
    謝林林林閱讀 250評論 0 1

友情鏈接更多精彩內(nèi)容