2013-03-14 158 views
4

我正在開發一個應用程序。我正在使用自定義字體。 「.ttf」文件來自定義文本視圖的字體。我使用的代碼爲:自定義字體和粗體樣式的文本

Typeface tfArchitectsDaughter = Typeface.createFromAsset(getAssets(), "fonts/ArchitectsDaughter.ttf"); 
textview.setTypeface(tfArchitectsDaughter); 

現在需要的是:我想使文本定製正如我在java文件上面做還有風格BOLD

如何做到這一點,請提出建議。還有什麼其他風格或定製可以在字體上做,請建議。

謝謝。

回答

11

使用SpannableString。 也看看這個教程。 http://blog.stylingandroid.com/archives/177

String tempString="Copyright"; 
TextView text=(TextView)findViewById(R.id.text); 
SpannableString spanString = new SpannableString(tempString); 
spanString.setSpan(new UnderlineSpan(), 0, spanString.length(), 0); 
spanString.setSpan(new StyleSpan(Typeface.BOLD), 0, spanString.length(), 0); 
spanString.setSpan(new StyleSpan(Typeface.ITALIC), 0, spanString.length(), 0); 
text.setText(spanString); 

您還可以在textview中爲文本使用不同的顏色。

SpannableString text = new SpannableString("Lorem ipsum dolor sit amet"); 
// make "Lorem" (characters 0 to 5) red 
text.setSpan(new ForegroundColorSpan(Color.RED), 0, 5, 0); 
textView.setText(text, BufferType.SPANNABLE); 

http://www.chrisumbel.com/article/android_textview_rich_text_spannablestring。該鏈接爲您提供了更多使用spannable字符串的樣式示例。

+0

非常感謝您的suggetions。 – 2013-03-14 11:49:26

14

您可以

textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD); 

注實現它:可以肯定你也可以使用ITALICBOLD_ITALIC

5

您可以使用下面的代碼來設置文本爲粗體

創建一個單獨的文件作爲style.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="boldText"> 
     <item name="android:textStyle">bold|italic</item> 
     <item name="android:textColor">#FFFFFF</item> 
    </style> 

    <style name="normalText"> 
     <item name="android:textStyle">normal</item> 
     <item name="android:textColor">#C0C0C0</item> 
    </style> 
</resources> 

而且在你的java文件,如果你想要的文字是可以大膽後行動意味着

Typeface tfArchitectsDaughter = Typeface.createFromAsset(getAssets(), "fonts/ArchitectsDaughter.ttf"); 
textview.setTypeface(tfArchitectsDaughter); 

myTextView.setTextAppearance(getApplicationContext(), R.style.boldText); 
+0

不錯,適當的答案。謝謝 – 2016-04-18 20:27:11

0

使用代碼使文字加粗爲:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText); 
0

你可以讓你的文本加粗爲:

TextView.setTextAppearance(getApplicationContext(), R.style.boldText); 
相關問題