Android UI中TextView的使用方法
Android UI中TextView的使用方法
一、TextView不同區(qū)域設(shè)置顏色,大小、點(diǎn)擊事件
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è)置可點(diǎn)擊部分 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)用戶事件時(shí)使用,如點(diǎn)擊一個(gè)電話號(hào)碼就跳轉(zhuǎn)到撥號(hào)頁(yè)面。如果不執(zhí)行這個(gè)方法是不會(huì)響應(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ù)是對(duì)區(qū)域的說(shuō)明,左包含,右不包含 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開(kāi)始,是從原始字符開(kāi)始
如有疑問(wèn)請(qǐng)留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- Android TextView 去掉自適應(yīng)默認(rèn)的fontpadding的實(shí)現(xiàn)方法
- Android為T(mén)extView添加字體庫(kù)和設(shè)置描邊的方法
- Android TextView對(duì)齊的兩種方法
- Android實(shí)現(xiàn)帶動(dòng)畫(huà)效果的可點(diǎn)擊展開(kāi)TextView
- Android自定義textview實(shí)現(xiàn)豎直滾動(dòng)跑馬燈效果
- Android自定義TextView實(shí)現(xiàn)drawableLeft內(nèi)容居中
- Android中TextView顯示圓圈背景或設(shè)置圓角的方法
相關(guān)文章
Windows實(shí)現(xiàn)Flutter環(huán)境搭建及配置這一篇就夠了
這篇文章主要介紹了Windows實(shí)現(xiàn)Flutter環(huán)境搭建及配置這一篇就夠了,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12Android數(shù)據(jù)庫(kù)LitePal的基本用法詳解
這篇文章主要介紹了Android數(shù)據(jù)庫(kù)LitePal的基本用法詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-01-01Android APP使用自定義字體實(shí)現(xiàn)方法
這篇文章主要介紹了Android APP使用自定義字體實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2016-10-10Android 安全加密:消息摘要Message Digest詳解
本文主要介紹Android安全加密消息摘要Message Digest,這里整理了詳細(xì)的資料,并說(shuō)明如何使用Message Digest 和使用注意事項(xiàng),有需要的小伙伴可以參考下2016-09-09Android組件間通信--深入理解Intent與IntentFilter
本篇文章是對(duì)Android組件間通信Intent與IntentFilter進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05Android布局之RelativeLayout相對(duì)布局
RelativeLayout是相對(duì)布局控件:以控件之間相對(duì)位置或相對(duì)父容器位置進(jìn)行排列,下面通過(guò)本文給大家介紹Android布局之RelativeLayout相對(duì)布局,涉及到android relativelayout相對(duì)布局相關(guān)知識(shí),對(duì)android relativelayout相對(duì)布局相關(guān)知識(shí),感興趣的朋友一起學(xué)習(xí)吧2015-12-12flutter PageView實(shí)現(xiàn)左右滑動(dòng)切換視圖
這篇文章主要為大家詳細(xì)介紹了flutter PageView實(shí)現(xiàn)左右滑動(dòng)切換視圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07Android實(shí)現(xiàn)史上最簡(jiǎn)單自定義開(kāi)關(guān)按鈕的方法
在平常的開(kāi)發(fā)中按鈕是經(jīng)常使用到的控件之一,下面這篇文章主要給大家介紹了關(guān)于Android實(shí)現(xiàn)史上最簡(jiǎn)單自定義開(kāi)關(guān)按鈕的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04