2012-04-10 11 views
1

Ich versuche, meinem Projekt eine andere Schriftart zuzuweisen. Ich möchte die neue Schriftart für das gesamte Projekt gültig ist, aber alles, was ich finden die Schriftart in einem Textview eine eigene SchriftartBenutzerdefinierte Schriftart in Android-Projekt

Typeface font1 = Typeface.createFromAsset(getAssets(), "fonts/RockFont.ttf"); 
TextView customText1 = (TextView)findViewById(R.id.text1); 
customText1.setTypeface(font1); 
customText1.setTextSize(40.f); 
customText1.setText("Hello! This is a custom font..."); 

es eine Möglichkeit, ändern, um das gesamte Projekt auf Standard? Beste Sicht

Antwort

0

Nicht genau das, wonach Sie gefragt haben, aber aufbauend auf dem obigen Kommentar gibt es Möglichkeiten, die Verwendung einer benutzerdefinierten Schriftart mit Standardsteuerelementen einfacher zu machen.

Dies zeigt, wie Sie TextView erweitern und ein benutzerdefiniertes Attribut verwenden, so dass TextView eine benutzerdefinierte Schriftart unterstützt.
Custom fonts and XML layouts (Android)

0

Was ich tue, ist eine Supportklasse zu erstellen und aus meiner Aktivität instanziieren und alle Ansichten durchlaufen, die ich stylen möchte.

public class textfactory{ 
private TextView tv; 
private Button b; 
private RadioButton rb; 

private TypeFace font; 

/** 
* fetch font resource 
*/ 
public textfactory(Context context){ 
    this.font = Typeface.createFromAsset(context.getAssets(), 'customfont.ttf'); 
} 
/** 
* pass in all the views you wish to apply font to 
*/ 
public void style(View... views){ 
    for(View v : views){ 
     if(v instance of TextView) 
     { 
      tv = (TextView)v; 
      tv.setTypeface(this.font); 
     } 
     else if(v instance of Button) 
     { 
      b = (Button)v; 
      b.setTypeface(this.font); 
     } 
     else if(v instance of RadioButton) 
     { 
      rb = (RadioButton)v; 
      rb.setTypeface(this.font); 
     } 
     //add as many view conditionals as required 
    } 
} 
} 
Verwandte Themen