我确实使用了uk.co.chrisjenx:calligraphy
依赖项来使用资产文件夹中的字体,但默认字体不会应用于我的应用程序。我遵循了其他stackoverflow问题中使用的指南,但它们不起作用,所有解决方案都使用了我在下面使用的相同语法。
这是我的应用程序和字体路径是正确的,因为它使用XML fontpath
属性;
public class App extends MultiDexApplication {
private static volatile Context instance;
public static Context get() {
return instance;
}
private static App enableMultiDex;
public static Context context;
public App(){
enableMultiDex=this;
}
public static App getEnableMultiDexApp() {
return enableMultiDex;
}
@Override
public void onCreate() {
super.onCreate();
context = getApplicationContext();
instance = getApplicationContext();
Thread.setDefaultUncaughtExceptionHandler(new ExceptionHandler(this));
CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/mobilefont.ttf")
.setFontAttrId(R.attr.fontPath)
.build());
}
}
答案 0 :(得分:4)
包装活动背景:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}