Ich möchte eine App in einer nicht englischen Sprache erstellen. Also brauche ich Textviews, Strings und Toast in nicht-englischer Sprache. Das Festlegen der Schriftart für jeden Text ist umständlich. Gibt es eine Möglichkeit, eine Standardschriftart festzulegen? Wenn ich auf etwas auf Englisch (wie E-Mail-ID) verweisen muss, kann ich die Methode textview.settypeface (xyz) verwenden.Wie kann ich die Standardschriftart der Android-App ändern?
Antwort
Es gibt eine Rost Bibliothek für benutzerdefinierte Schriftarten in android: custom fonts
Hier ist ein Beispiel, wie es zu benutzen.
In gradle müssen Sie dieses Spiel setzen:
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
und dann eine Klasse machen, die Anwendung einen Schreib diesen Code erweitert:
public class App extends Application {
@Override public void onCreate() { super.onCreate();
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("your font path")
.setFontAttrId(R.attr.fontPath)
.build()
);
}
}
und in der Aktivitätsklasse Stellen Sie diese Methode vor onCreate:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
und das letzte, was in Ihrer Manifest-Datei schreiben wie folgt aus:
<application
android:name=".App"
und es wird die gesamte Aktivität auf Ihre Schriftart ändern !. Es ist einfach und sauber!
Sie können dies hauptsächlich auf 3 Arten erreichen. Eine Möglichkeit wäre, eine benutzerdefinierte Textview zu erstellen und dass überall beziehen, das heißt:
public class TypefacedTextView extends TextView {
public TypefacedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName);
setTypeface(typeface);
}
}
und innen View.xml
<packagename.TypefacedTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello"/>
Ein anderer Weg ist die leistungsstarke Calligraphy
Bibliothek in Github zu verwenden. see this
Und schließlich können Sie die Standardeinstellung mit Ihren eigenen Schriftart außer Kraft setzen, see this
können Sie versuchen, diesen Link https://coderwall.com/p/qxxmaa/android-use-a-custom-font-everywhere –