Android  TextView 의 일부 텍스트 하 이 라이트 표시

Android  TextView 의 일부 텍스트 하 이 라이트 표시

/** 
 *         
 * 
 * @param context     
 * @param text          
 * @param target          
 * @param color       
 * @param start             
 * @param end              
 * @return         
 */ 
public static SpannableString highlight(Context context, String text, String target, 
                    String color, int start, int end) { 
  SpannableString spannableString = new SpannableString(text); 
  Pattern pattern = Pattern.compile(target); 
  Matcher matcher = pattern.matcher(text); 
  while (matcher.find()) { 
    ForegroundColorSpan span = new ForegroundColorSpan(Color.parseColor(color)); 
    spannableString.setSpan(span, matcher.start() - start, matcher.end() + end, 
        Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
  } 
  return spannableString; 
} 
start 와 end 매개 변 수 는 기본 적 인 상황 에서 0 을 전달 합 니 다.하 이 라이트 키워드 앞 뒤에 기호 가 있 을 때(예 를 들 어[하 이 라이트])start 와 end 매개 변 수 는 1 을 전달 할 수 있 습 니 다.
호출 방법

SpannableString highlightText = StringUtils.highlight(this, "     ", "  ", "#EA2D2D", 0, 0); 
textView.setText(highlightText); 
효 과 는 다음 그림 과 같다.

읽 어 주 셔 서 감사합니다. 여러분 에 게 도움 이 되 기 를 바 랍 니 다.본 사이트 에 대한 여러분 의 지지 에 감 사 드 립 니 다!

좋은 웹페이지 즐겨찾기