中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

怎么在Android 開發中利用TextView對文字進行加粗

發布時間:2020-11-30 17:18:08 來源:億速云 閱讀:406 作者:Leah 欄目:移動開發

這篇文章將為大家詳細講解有關怎么在Android 開發中利用TextView對文字進行加粗,文章內容質量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關知識有一定的了解。

首先自定義一個StyleSpan,在StyleSpan里做加粗的等匹配狀態的設置

@SuppressLint("ParcelCreator")
public class SearchStyleSpan extends StyleSpan {
 public SearchStyleSpan(int style) {
  super(style);
 }
 @Override
 public void updateDrawState(TextPaint ds) {
  ds.setFakeBoldText(true);
  //FIXME 這里還可以做其他差異性設置(修改文字大小等)
  super.updateDrawState(ds);
 }
 @Override
 public void updateMeasureState(TextPaint paint) {
  paint.setFakeBoldText(true);
  super.updateMeasureState(paint);
 }
}

監聽編輯框的內容變化

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());
   }
  });

通過循環,將TextView 里的文字根據匹配內容分段

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);

將分段好的文字進行加粗處理

 int start = content.indexOf(searchContent);
  SpannableStringBuilder ssb = new SpannableStringBuilder(content);
  ssb.setSpan(new SearchStyleSpan(Typeface.NORMAL), start, start + searchContent.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

關于怎么在Android 開發中利用TextView對文字進行加粗就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

高唐县| 八宿县| 崇文区| 乌苏市| 孝昌县| 镇远县| 略阳县| 关岭| 蓬安县| 建宁县| 诏安县| 台北市| 镇原县| 昌邑市| 延吉市| 福贡县| 鄂托克旗| 井研县| 左权县| 青田县| 宣汉县| 都匀市| 改则县| 股票| 穆棱市| 泾阳县| 丁青县| 中宁县| 蓬安县| 两当县| 苍山县| 汾阳市| 扎赉特旗| 温泉县| 竹溪县| 鄢陵县| 双城市| 门源| 墨江| 应城市| 连云港市|