Библиотека каллиграфии Android: установка шрифта по умолчанию не работает
Я использовал uk.co.chrisjenx:calligraphy
зависимость от использования шрифтов из папки ресурсов, однако шрифт по умолчанию не применяется к моему приложению. Я следовал рекомендациям, используемым в других вопросах о стековом потоке, но они не работали, и все решения использовали тот же синтаксис, который я использовал ниже.
Вот мое приложение и путь к шрифту правильный, так как он работает с использованием 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());
}
}
2 ответа
Решение
Оберните контекст деятельности:
@Override
protected void attachBaseContext(Context newBase) {
super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}
1. If you update your project with **API 33** or **Android 13** add below line for calligrapgy library.
ViewPump.init(ViewPump.builder()
.addInterceptor(new CalligraphyInterceptor(
new CalligraphyConfig.Builder()
.setDefaultFontPath("fonts/century_gothic.ttf")
.setFontAttrId(io.github.inflationx.calligraphy3.R.attr.fontPath)
.build())).build());