Spannable 이용하여 특정 문자열 색, 사이즈 변경...

Spannable 을 이용하여 특정 문자열 색 변경.

public Spannable setTextViewColorPartial(TextView view, int color
            , boolean isBold, boolean isFist, String fulltext, String... subtext) { 		
   
    view.setText(fulltext, TextView.BufferType.SPANNABLE);  		
    Spannable str = (Spannable) view.getText();  		
    
    try { 			
        if (subtext != null) { 				
        
            for (String text : subtext) { 					
                int i = 0;  					
                if (isFist) { 						
                    i = fulltext.indexOf(text); 					
                } else { 			
                    i = fulltext.lastIndexOf(text); 				
                } 					
            
                str.setSpan(new ForegroundColorSpan(color), i, i + text.length()
                                                 , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  				
            
                if (isBold) { 						
                    str.setSpan(new StyleSpan(Typeface.BOLD), i, i + text.length()
                                                 , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 					
                } 				
            }  			
        }  		
    } catch (Exception e) { 		
        e.printStackTrace(); 		
    } 		

    return str; 	
}

폰트사이즈 변경

public static void setTextViewFontSizePartial(TextView view, float size, String fulltext
                  , String... subtext) { 		

    view.setText(fulltext, TextView.BufferType.SPANNABLE);  
    Spannable str = (Spannable) view.getText();  	
   
   if (subtext != null) { 			
        for (String text : subtext) { 			
            int i = fulltext.indexOf(text); 			
            str.setSpan(new RelativeSizeSpan(size), i, i + text.length()
                                        , Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 			
        }  		
    } 	
}

참고...

http://wawoops67.blogspot.kr/2013/01/android-spannable.html

댓글