Reputation: 4761
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.
Upvotes: 4
Views: 14139
Reputation: 476
You can make your text bold as :
TextView.setTextAppearance(getApplicationContext(), R.style.boldText);
Upvotes: 0
Reputation: 455
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);
Upvotes: 5
Reputation: 4761
Use the code for making text bold as :
TextView.setTextAppearance(getApplicationContext(), R.style.boldText);
Upvotes: 0
Reputation: 133560
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.
Upvotes: 12
Reputation: 33505
You can achieve it with
textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD);
Note: For sure you can use also ITALIC
and BOLD_ITALIC
Upvotes: 15