Cóż !!
To pytanie jest dość stary, ale nadal, jeśli ktoś szuka odpowiedzi (w 2015 roku), w jaki sposób zastosować niestandardową czcionkę wszystkich TextView pośrednictwem kodu xml bezpośrednio zobaczyć poniżej:
Pierwszy:
musimy aktywów wewnątrz folderu dodać niestandardowe czcionki wewnątrz aplikacji katalogu:
.ttf lub .OTF pracy zarówno w przypadku Androida
drugie:
Tworzenie klasy CustomTextView która rozciąga TextView jak poniżej:
public class CustomTextView extends TextView {
public CustomTextView(Context context) {
super(context);
}
public CustomTextView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public CustomTextView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void setTypeface(Typeface tf) {
super.setTypeface(FontCache.getFont(getContext(),"fonts/<font_name>"));
}
}
trzecie:
klasa FontCache używany wewnątrz setTypeface CustomTextView za() method.Purpose jest zrobić podstawowe buforowania czcionek przy użyciu HashMap:
public class FontCache {
private static Map<String,Typeface> fontMap = new HashMap<String,Typeface>();
public static Typeface getFont(Context context,String fontname){
if(fontMap.containsKey(fontname)){
return fontMap.get(fontname);
}
else{
Typeface tf = Typeface.createFromAsset(context.getAssets(),fontname);
fontMap.put(fontname,tf);
return tf;
}
}
}
Po czwarte: [Ostatnim krokiem] Teraz wystarczy użyć CustomTextView bezpośrednio w naszym pliku xml wszędzie tam, gdzie wymagany jest niestandardowy widok czcionki:
<<package_name>.CustomTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Custom Font Text"
android:textSize ="18sp"
android:textAppearance="?android:textAppearanceSmall"
android:id="@+id/custom_txt"
/>
Przepraszam, jeśli to zostało już wysłane gdzieś na SO. Pomyślcie o tym, jeśli komuś pomaga!
Sprawdź ten wpis: [http://stackoverflow.com/questions/2888508/how-to-change-the-font-on-text-view-in-android](http://stackoverflow.com/questions/2888508/how-to-change-the-font-on-the-text-view-in-android) – Praveen
Sprawdź także to: http://stackoverflow.com/a/14558090/693752 – Snicolas
http://stackoverflow.com/questions/9030204/how-to-use-custom-font-in-android-xml/9035924#9035924 – Vins