Ich definiere eine Stil XML für meine Android App. Ich habe einige TTF-Dateien, die ich verwenden möchte, wie kann ich die Schrift einstellen, um diese Dateien als die Schriftart im Gegensatz zu den allgemeinen "Sans", "Serif" & "Monospace" zu verwenden. DankeSpezifische Schriftart in einer styles.xml setzen
Antwort
Sie können benutzerdefinierte Schriftarten nur über Java-Code verwenden, nicht durch Layout-XML oder Stile/Themen - Entschuldigung!
siehe APIDemos Beispiel in der Dokumentation.
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="CodeFont" parent="@android:style/TextAppearance.Medium">
<item name="android:layout_width">fill_parent</item>
<item name="android:layout_height">wrap_content</item>
<item name="android:textColor">#00FF00</item>
<item name="android:typeface">monospace</item>
</style>
</resources>
ich ein kleines Tutorial dazu geschaffen ... ich hoffe es http://spinettaro.blogspot.it/2013/01/custom-font-for-view.html
TextViewPlus.java nützlich sein kann:
package com.example;
import android.content.Context;
import android.content.res.TypedArray;
import android.graphics.Typeface;
import android.util.AttributeSet;
import android.util.Log;
import android.widget.TextView;
public class TextViewPlus extends TextView {
private static final String TAG = "TextView";
public TextViewPlus(Context context) {
super(context);
}
public TextViewPlus(Context context, AttributeSet attrs) {
super(context, attrs);
setCustomFont(context, attrs);
}
public TextViewPlus(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
setCustomFont(context, attrs);
}
private void setCustomFont(Context ctx, AttributeSet attrs) {
TypedArray a = ctx.obtainStyledAttributes(attrs, R.styleable.TextViewPlus);
String customFont = a.getString(R.styleable.TextViewPlus_customFont);
setCustomFont(ctx, customFont);
a.recycle();
}
public boolean setCustomFont(Context ctx, String asset) {
Typeface tf = null;
try {
tf = Typeface.createFromAsset(ctx.getAssets(), asset);
} catch (Exception e) {
Log.e(TAG, "Could not get typeface: "+e.getMessage());
return false;
}
setTypeface(tf);
return true;
}
}
attrs.xml: (in res/Werte)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<declare-styleable name="TextViewPlus">
<attr name="customFont" format="string"/>
</declare-styleable>
</resources>
main.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:foo="http://schemas.android.com/apk/res/com.example"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<com.example.TextViewPlus
android:id="@+id/textViewPlus1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:text="@string/showingOffTheNewTypeface"
foo:customFont="saxmono.ttf">
</com.example.TextViewPlus>
</LinearLayout>
Sie würden setzen "saxmono.ttf" im Vermögen Ordner. Erstellen Sie einen Ordner mit dem Namen ‚font‘ und Ihre Ttf im Inneren:
Ja, können Sie
Schritt 1 :). enter image description here
Schritt 2: Gehen Sie zu style.xml und wie folgt vorgehen: - enter image description here
Schritt 3: Verwenden Sie die Style-Tag in jedem UI-Objekt: -
Bevor all dies, zuerst, müssen Sie aktualisieren, um auf Support-Bibliothek 26 zu aktualisieren, hier ist ein Link https://segunfamisa.com/posts/custom-fonts-with-android-support-library –
- 1. Schriftart global in JavaFX setzen
- 2. Spezifische Füllfarben in ggplot2 durch Vorzeichen setzen
- 3. Schriftart basierend auf Richtung in CSS setzen
- 4. Android: Hintergrund ändern in styles.xml
- 5. Android styles.xml windowNoTitle (ActionBarActivity)
- 6. Bokeh kann nicht Achse Ticks Schriftart setzen
- 7. Xamarin: Kann Styles.xml nicht laden
- 8. styles.xml erben "? Android: attr/borderlessButtonStyle"?
- 9. UILabel - Einstellung Schriftart - Schriftart programmgesteuert in iPhone
- 10. Symbol Schriftart als Hintergrund in CSS-Eigenschaft setzen
- 11. jquery Check spezifische Optionen in einer Multiselect
- 12. THREEjs - Schriftart in Schriftart konvertieren.json
- 13. Wie Sie Stilattribute programmgesteuert aus styles.xml abrufen
- 14. Count spezifische Spalte in einer ListBox
- 15. Spezifische "Version" einer Spalte abrufen
- 16. Einbetten einer benutzerdefinierten Schriftart in meiner Anwendung
- 17. Welcher der folgenden Schritte wird die Schriftart von UISegmentedControl setzen?
- 18. Probleme nach dem Erstellen von styles.xml v21
- 19. Fehler in styles.xml in android-support-v7-mediarouter
- 20. Ändern Schriftart Schriftart Text
- 21. Benutzerdefinierte Schriftart in der gesamten App verwendet
- 22. Spezifische Positionierung in Bootstrap
- 23. Schriftart einer Zeile von Listview ändern
- 24. Schriftart in javafx festlegen
- 25. Wie Schriftart in NSTextView festlegen?
- 26. Wie benutze ich android: Theme.Material (Material theme) in styles.xml android?
- 27. Ändern Schriftart für einen Text in einer Schriftart nicht in der Familie Schriftarten
- 28. Schriftart Glättung in Delphi
- 29. Herauszufinden, Breite eines Strings in einer bestimmten Schriftart
- 30. Position in einer Datei in Fortran setzen?
Thanks a lot Ich schätze es. – NickTFried
@ SergiCastellsaguéMillán: Diese Frage war für die Verwendung von TTF-Schriftarten. Die Antwort, die Sie verlinkt haben, ist für alles ** aber ** TTF-Fonts. – CommonsWare
Da dies eine alte Antwort ist; Ist dir bewusst, dass sich in späteren Versionen, @CommonsWare, etwas geändert hat? Ich würde auch gerne Schriften ändern können, indem ich es in einem ''-Dokument definiere. –