简体   繁体   中英

Text with custom font and bold style

I am developing an application. I am using custom font. ".ttf" file to customize font of text view. I used the code as:

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

Now the need is: I want to make the text customize as I done above as well as the style as BOLD in .java file.

How to do this please suggest. And what other styles or customization can be done on font please suggest.

You can achieve it with

textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD);

Note: For sure you can use also ITALIC and BOLD_ITALIC

Use a SpannableString. Also have a look at this tutorial. 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);

You can also use different color for text's in 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 . The link gives you more example of styling using spannable string.

You can use the below code to set your text as bold

create a seperate file as 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>

And in your java file if you want the text to be bold after can action means

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

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

使用代码将文本加粗为:

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

您可以将文字粗体显示为:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM