2013-03-14 6 views
4

Je développe une application. J'utilise une police personnalisée. ".ttf" fichier pour personnaliser la police de l'affichage du texte. J'ai utilisé le code comme:Texte avec police personnalisée et style gras

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

Maintenant, le besoin est: je veux faire le texte personnaliser comme je l'ai fait ci-dessus, ainsi que le style que BOLD dans .java fichier.

Pour ce faire, veuillez suggérer. Et quels autres styles ou personnalisation peuvent être faits sur la police s'il vous plaît suggérer.

Merci.

Répondre

11

Utilisez un SpannableString. Regardez également ce tutoriel. 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); 

Vous pouvez également utiliser une couleur différente pour le texte dans la vue texte.

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. Le lien vous donne plus d'exemple de style en utilisant une chaîne spannable.

+0

Merci de votre suggetions. –

14

Vous pouvez réaliser avec

textview.setTypeface(tfArchitectsDaughter, Typeface.BOLD); 

Note: Pour que vous pouvez également utiliser ITALIC et BOLD_ITALIC

5

Vous pouvez utiliser le code ci-dessous pour définir votre texte en gras

créer un fichier séparé comme 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> 

Et dans votre fichier java si vous voulez que le texte soit en gras après peut action signifie

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

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

Belle réponse appropriée. Merci –

0

Utilisez le code pour rendre le texte en gras comme:

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

Vous pouvez faire de votre texte en gras comme:

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