2012-04-16 16 views
5

Wiem, jak ustawić niestandardową czcionkę do TextView. Ale jak dodać niestandardową czcionkę poprzez motyw/styl/xml?Android: jak dodać niestandardowe czcionki do tematu/stylu/xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="customfontforlistview" parent="@android:style/Widget.ListView"> 
     <item name="android:textColor">#000000</item> 
     <item name="android:typeface">HOW_TO_CUSTOM_FONT</item> 
    </style> 
</resources> 

Proszę podać rozwiązanie tego problemu.

Odpowiedz

3

O ile mi wiadomo, nie ma na to dobrego sposobu. Najlepszą alternatywą, że wiem, jest stworzenie prostego podklasę, która wygląda mniej więcej tak:

public class CustomTextViewNormal extends TextView 
{ 
    public CustomTextViewNormal(Context context) 
    { 
     super(context); 
     init(); 
    } 

    public CustomTextViewNormal(Context context, AttributeSet attrs) 
    { 
     super(context, attrs); 
     init(); 
    } 

    public CustomTextViewNormal(Context context, AttributeSet attrs, int defStyle) 
    { 
     super(context, attrs, defStyle); 
     init(); 
    } 

    public void init() 
    { 
     Typeface tf = Typeface.createFromAsset(getContext().getAssets(), 
       "fonts/HelveticaNeue.ttf"); 
     setTypeface(tf); 
    } 
} 

Jeśli się tego, można po prostu użyć tego widoku niestandardowego tekstu w układach XML i można w zasadzie taką samą funkcjonalność jak styl, choć, wprawdzie, nieco bardziej niechlujny.

+0

to nie jest przegrana! poprawna odpowiedź. przynajmniej jeden sposób, jak to zrobić – longilong

+0

android: textStyle = "bold" nie działa na tym odziedziczonym widoku tekstowym :( –

Powiązane problemy