Voglio fare un'app in una lingua non inglese. Quindi ho bisogno che le visualizzazioni testuali, gli archi e il brindisi siano nella lingua non inglese. L'impostazione del carattere tipografico per ogni testo è macchinosa. C'è un modo per impostare un carattere predefinito? Quando devo fare riferimento a qualcosa in inglese (come id di email), allora posso usare il metodo textview.settypeface (xyz).Come modificare il carattere predefinito dell'app Android?
risposta
C'è una biblioteca griglia per i font personalizzati in Android: custom fonts
Ecco un esempio di come usarlo.
In Gradle è necessario inserire questa riga:
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
e poi fare una classe che estende l'applicazione di una scrittura di questo codice:
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()
);
}
}
e nella classe di attività metti questo metodo prima su onCreate:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
e l'ultima cosa nella vostra scrittura file manifesto in questo modo:
<application
android:name=".App"
e cambierà l'intera attività al vostro carattere !. Sono semplice e pulito!
È possibile ottenere questo principalmente in 3 modi. Un modo potrebbe essere quello di creare un TextView personalizzato e si riferiscono che ovunque, vale a dire:
public class TypefacedTextView extends TextView {
public TypefacedTextView(Context context, AttributeSet attrs) {
super(context, attrs);
Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName);
setTypeface(typeface);
}
}
e dentro View.xml
<packagename.TypefacedTextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hello"/>
Un altro modo è quello di utilizzare la potente libreria Calligraphy
in github. see this
E, infine, è possibile ignorare le impostazioni predefinite con i propri font, see this
puoi provare questo link https://coderwall.com/p/qxxmaa/android-use-a-custom-font-everywhere –