溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android UI中TextView的使用方法

發(fā)布時間:2020-08-27 14:52:11 來源:腳本之家 閱讀:133 作者:xiaobojava 欄目:移動開發(fā)

Android UI中TextView的使用方法

一、TextView不同區(qū)域設(shè)置顏色,大小、點擊事件

String msg = getResources().getString(R.string.school_roll_auth); 
    SpannableStringBuilder style = new SpannableStringBuilder(msg); 
    // 設(shè)置字體顏色 
    style.setSpan( 
        new ForegroundColorSpan(getResources().getColor( 
            R.color.tv_color_99)), 0, msg.length() - 5, 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    style.setSpan( 
        new ForegroundColorSpan(getResources().getColor( 
            R.color.text_blue)), msg.length() - 5, msg.length(), 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    // 設(shè)置字體背景色 
    style.setSpan( 
        new BackgroundColorSpan(getResources().getColor( 
            R.color.bg_common)), msg.length() - 5, msg.length(), 
        Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    // 設(shè)置可點擊部分 
    style.setSpan(new ClickableSpan() { 
 
      @Override 
      public void onClick(View widget) { 
        //do Click .... 
      } 
 
      @Override 
      public void updateDrawState(TextPaint ds) { 
        super.updateDrawState(ds); 
        ds.setUnderlineText(false); 
        ds.clearShadowLayer(); 
      } 
 
    }, msg.length() - 5, msg.length(), Spannable.SPAN_EXCLUSIVE_INCLUSIVE); 
    tv_school_roll_msg.setText(style); 
    // 此方法在需要響應(yīng)用戶事件時使用,如點擊一個電話號碼就跳轉(zhuǎn)到撥號頁面。如果不執(zhí)行這個方法是不會響應(yīng)事件的,即便文本看著已經(jīng)是下劃線藍(lán)色字了。 
    tv_school_roll_msg.setMovementMethod(LinkMovementMethod.getInstance()); 
//設(shè)置字體不同大小 
SpannableStringBuilder sb = new SpannableStringBuilder(numText); 
 
      sb.setSpan(new AbsoluteSizeSpan(App.getInstance().getResources() 
          .getDimensionPixelSize(R.dimen.text_size_24)), 0, 
          income.indexOf(".") + 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      sb.setSpan(new AbsoluteSizeSpan(App.getInstance().getResources() 
          .getDimensionPixelSize(R.dimen.text_size_16)), 
          income.indexOf(".") + 1, income.length(), 
          Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
      view.setText(sb); 

 注:Spannable.SPAN_EXCLUSIVE_EXCLUSIVE參數(shù)是對區(qū)域的說明,左包含,右不包含 SpannableStringBuilder的append方法

SpannableStringBuilder sb = new SpannableStringBuilder(num); 
SpannableStringBuilder sbUnitName = sb.append("元"); 
sbUnitName.setSpan(new AbsoluteSizeSpan(getResources().getDimensionPixelSize(floatSizeResourcesId)), num.length() - 1, num.length() + unitName.length(),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

 append之后數(shù)符索引不是從0開始,是從原始字符開始

如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI