這篇文章將為大家詳細(xì)講解有關(guān)怎么在Android 開發(fā)中利用TextView對文字進(jìn)行加粗,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。
蚌埠網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),蚌埠網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為蚌埠成百上千提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的蚌埠做網(wǎng)站的公司定做!首先自定義一個StyleSpan,在StyleSpan里做加粗的等匹配狀態(tài)的設(shè)置
@SuppressLint("ParcelCreator") public class SearchStyleSpan extends StyleSpan { public SearchStyleSpan(int style) { super(style); } @Override public void updateDrawState(TextPaint ds) { ds.setFakeBoldText(true); //FIXME 這里還可以做其他差異性設(shè)置(修改文字大小等) super.updateDrawState(ds); } @Override public void updateMeasureState(TextPaint paint) { paint.setFakeBoldText(true); super.updateMeasureState(paint); } }
監(jiān)聽編輯框的內(nèi)容變化
mEditText.addTextChangedListener(new TextWatcher() { @Override public void beforeTextChanged(CharSequence s, int start, int count, int after) { } @Override public void onTextChanged(CharSequence s, int start, int before, int count) { } @Override public void afterTextChanged(Editable editable) { checkSearchContent(mEditText.getText().toString()); } });
通過循環(huán),將TextView 里的文字根據(jù)匹配內(nèi)容分段
SpannableStringBuilder searchStyle = new SpannableStringBuilder(); int start; while (content.contains(searchContent)) { start = content.indexOf(searchContent); searchStyle.append(getBoldSpannable(content.substring(0, start + searchContent.length()), searchContent)); content = content.substring(start + searchContent.length()); } searchStyle.append(content);
將分段好的文字進(jìn)行加粗處理
int start = content.indexOf(searchContent); SpannableStringBuilder ssb = new SpannableStringBuilder(content); ssb.setSpan(new SearchStyleSpan(Typeface.NORMAL), start, start + searchContent.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
關(guān)于怎么在Android 開發(fā)中利用TextView對文字進(jìn)行加粗就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文題目:怎么在Android開發(fā)中利用TextView對文字進(jìn)行加粗-創(chuàng)新互聯(lián)
鏈接地址:http://muchs.cn/article12/dsiedc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機(jī)網(wǎng)站建設(shè)、微信小程序、營銷型網(wǎng)站建設(shè)、網(wǎng)站營銷、虛擬主機(jī)、網(wǎng)站設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)