2013-10-28 5 views
1

텍스트 뷰가 있고 텍스트의 각 단어를 다른 크기 및 글꼴로 사용하고 싶습니다.크기가 다른 텍스트 뷰의 텍스트 설정

나는 텍스트의 일부를 and 태그로 굵게 또는 밑줄로 설정할 수 있다는 것을 알고 있습니다.

하지만 텍스트의 일부가 18sp 크기이고 맞춤 서체 (애셋)가 있고 다른 부분이 다른 맞춤 서체 및 14sp 크기를 가지면 어떨까요?

개별 TextViews로 TextView를 분할 할 수 있지만이를 피하고 싶습니다.

당신은 setText() 방법 Html.fromHtml()를 사용하여 당신이 원하는 모든 스타일과 HTML에 코드를 작성할 수 있습니다

답변

8

.

TextView tv; 
final SpannableString text = new SpannableString("Hello World"); 
text.setSpan(new RelativeSizeSpan(2.0f), 0, 5, 
      Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 
text.setSpan(new RelativeSizeSpan(1.5f), 5, 11, 
      Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

tv.setText(text); 

의 fontStyle를 들어

그래서 의 도움 StyleSpan으로 custom typeface을 사용할 수 있습니다 사용 참조 StyleSpan에 대한 StyleSpan를 사용합니다.

text.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), start, 
        end, Spannable.SPAN_INCLUSIVE_INCLUSIVE); 

희망이 도움이 될 것입니다.

+0

텍스트 크기의 비율을 설정하는 RelativeSizeSpan이 아니라 px로 텍스트 크기를 설정할 수 있으므로 AbsoluteSizeSpan을 사용했습니다. –

0

:

예 :

myTextView.setText(Html.fromHtml("<h2>Title</h2><br><p>Description here</p>")); 

또는 :

이 질문을 참조하십시오. 그것은 당신을 도울 수 있습니다 당신은 다른 글꼴 크기에 대한 참조 RelativeSizeSpan를 들어, RelativeSizeSpan를 사용해야합니다 Custom Textview with Html text and Custom Font whole Android application

+0

자산에서 사용자 정의 서체를 사용하려면 어떻게해야합니까? – user1940676

+0

내 대답을 편집했습니다 ... 아마도 도움이됩니다 –

관련 문제