Für eine App, die ich gerade baue, benutze ich eine benutzerdefinierte Schriftart. Auf den meisten Telefonen funktioniert die benutzerdefinierte Schrift gut.Benutzerdefinierte Schriftart funktioniert nicht überall wo Android
Aber auf einigen der Schriftart des Telefons wird alle Textviews nicht überschreiben, ich bin rechts absolut ahnungslos jetzt besonders es
Das Ergebnis möchte ich überall, außer im schwarzen Bereich arbeitet:
Das Ergebnis erhalte ich:
Der Code:
public final class FontsOverride {
public static void setDefaultFont(Context context,
String staticTypefaceFieldName, String fontAssetName) {
final Typeface regular = Typeface.createFromAsset(context.getAssets(), fontAssetName);
replaceFont(staticTypefaceFieldName, regular);
}
protected static void replaceFont(String staticTypefaceFieldName,
final Typeface newTypeface) {
try {
final Field staticField = Typeface.class.getDeclaredField(staticTypefaceFieldName);
staticField.setAccessible(true);
staticField.set(null, newTypeface);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
}
die XML:
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageViewNewestArticleImage"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:background="@android:color/black"
android:src="@drawable/emptychatuser"/>
<TextView
android:id="@+id/textViewNewestArticleTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/sampleTitle"
android:layout_gravity="bottom"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textSize="25sp"
android:layout_marginLeft="10dp"
android:layout_marginBottom="20dp"
android:padding="5dp" />
</FrameLayout>
hm irgendwelche anderen Anpassungen Schriftart an anderer Stelle in Ihrem XML? –
Es ist nur eine normale Textansicht der einzige Unterschied zwischen diesem und allen anderen Textansichten ist, dass die Hintergrundfarbe ist anders –
Warum verwenden Sie Reflexion für die Änderung der Farbe? –