怎么在Android開發(fā)中利用TextView對文字進(jìn)行加粗-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(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)

成都做網(wǎng)站