2013-12-16 2 views
3

이봐 난 JSON에서 올 들어있는 안드로이드 텍스트 뷰 .. 그것은 괜찮습니다하지만 난 텍스트 뷰의 부분의 색상을 변경하려면를 작성하고 .. 잘 모릅니다 방법변화 안드로이드 텍스트 뷰의 색상은

여기 내 세부 정보 -

JSONArray jArray= new JSONArray(result); 

for(int i=0; i<jArray.length();i++) 
{ 
JSONObject getjson=jArray.getJSONObject(i); 

s= "Title: "   +getjson.getString("tender_title")+ 
    "\n\nTender id: " +getjson.getString("tender_id")+ 
    "\n\nReference no:\n"+getjson.getString("tender_reference_no")+ 
    "\n\nQuantity: "  +getjson.getString("tender_item_details_quantity"); 

} 

TextView txt=(TextView) findViewById(R.id.textView1); 
txt.setText(s); 

위의 코드는 텍스트 뷰의 모든 값이 fine..that 세트를하지만, 내가 "입찰 ID가" "제목"의 색상을 변경할에서 "수량"입니다 등 .. 위에서 문자열 s 도와주세요

+0

검은 색, 흰색 또는 16 진수 값의 색조는 무엇입니까? –

+0

답글을 위해 @Arju 고맙습니다. 이제이 텍스트 뷰가 흰색으로 설정되었지만이 텍스트의 일부를 노란색으로 변경하려고합니다. – Brett

+0

@Brett 문제가 해결되면 가장 유용한 답을 선택해야합니다. –

답변

2

당신은 HTML로 텍스트를 설정할 수 있습니다

txt.setText(Html.fromHtml("your <font color='#FF0000'>content</font>"); 
1

사용을 spans

예 :

{ 
    final SpannableStringBuilder sb = new SpannableStringBuilder("your text here"); 
    final ForegroundColorSpan fcs = new ForegroundColorSpan(Color.rgb(158, 158, 158)); 

    // Span to set text color to some RGB value 
    final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD); 

    // Span to make text bold 
    sb.setSpan(fcs, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

    // Set the text color for first 4 characters 
    sb.setSpan(bss, 0, 4, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

    // make them also bold 
    yourTextView.setText(sb); 
} 
0

당신이 그것을 위해 또한 스팬을 사용할 수 있습니다. 다음과 같이

업데이트 코드 :

JSONArray jArray= new JSONArray(result); 
Spanned spannedStr = null; 
for(int i=0; i<jArray.length();i++) 
{ 
    JSONObject getjson = jArray.getJSONObject(i); 

    spannedStr = (Spanned) TextUtils.concat(getColorString("Title:"), getjson.getString("tender_title"), "\n\n", 
      getColorString("Tender id:"), getjson.getString("tender_title"), "\n\n", 
      getColorString("Reference no:"), getjson.getString("tender_title"), "\n\n", 
      getColorString("Quantity:"), getjson.getString("tender_title")); 

} 
TextView txt=(TextView) findViewById(R.id.textView1); 
txt.setText(spannedStr); 

는 같은 클래스에 도우미 메서드를 정의하고 그것을 사용 :

여기
0
Spannable WordtoSpan = new SpannableString(text); 

WordtoSpan.setSpan(new ForegroundColorSpan(Color.WHITE), text.length, (text +  
nextString.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

myTextView.setText(WordtoSpan); 
1

Spanned sText=Html.fromHtml("<font color="#C3003">Title:</font> " ); 

txt.setText(sText); 
귀하의 경우에 고유 한 솔루션입니다
private Spanned getColorString(String str) { 
    return Html.fromHtml("<font color='#FFFF00'>" + str + "</font>"); 
} 

샘플 출력 :

enter image description here

관련 문제