如何在Android中使用书法图书馆

How to use calligraphy library in Android

我想在我的项目中使用 Calligraphy library,但在我的应用程序中使用此代码更改 google 地图 语言:

@Override
protected void attachBaseContext(Context newBase) {
}

要使用书法,我应该使用此代码:

@Override
protected void attachBaseContext(Context newBase) {
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

如何在我的项目中使用两个 attachBaseContext

其实很简单,串起来就可以了:

@Override
protected void attachBaseContext(Context newBase) {
    newBase = MyContextWrapper.wrap(newBase, "fa_IR");
    super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
}

或者您可以提取一个父项 BaseActivity 并在一个地方将 Calligraphy 应用于您的所有活动。并且仅在地图 activity 中覆盖语言。在那种情况下,它看起来像您的原始代码,因为每个包装器将应用于不同的 class.