android - chrisjenx 的书法库无法正常工作

标签 android fonts custom-font calligraphy

在设置默认字体时,我按照他的文档的指示做了:

 @Override
 protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setupDefaultFont();

        setContentView(R.layout.activity_main);

        setupToolbarAndNavigationDrawer();
  }

  public void setupDefaultFont() {
        CalligraphyConfig.initDefault(new CalligraphyConfig.Builder()
                        .setDefaultFontPath("fonts/OpenSans-Regular.ttf")
                        .setFontAttrId(R.attr.fontPath)
                        .build()
        );
  }

我还将字体放在 assets/fonts 中,但无济于事。 Roboto 仍然显示为默认字体,而不是 Open Sans。我尝试将它手动一个一个地应用到每个 TextView,但它仍然不起作用。

关于为什么这不起作用的任何想法?

更多信息:(如果有用的话) 我的 miniSdkVersion 是 15,targetSdkVersion 是 22。 这些是我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:22.2.0'
    compile 'com.android.support:design:22.2.0'
    compile 'com.android.support:recyclerview-v7:21.0.3'
    compile 'com.android.support:cardview-v7:21.0.3'
    compile 'de.hdodenhof:circleimageview:1.2.1'
    compile 'uk.co.chrisjenx:calligraphy:2.1.0'
}

这是我正在使用的自定义主题。

<resources>
    <style name="myIIT_theme" parent="Theme.AppCompat">
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="colorPrimary">@color/primary</item>
        <item name="android:textColorPrimary">@color/white</item>
        <item name="android:windowBackground">@color/tertiary_dark</item>
        <item name="android:activatedBackgroundIndicator">@drawable/selected_drawer</item>
        <item name="windowActionBar">false</item>
        <item name="windowNoTitle">true</item>
    </style>
</resources>

最佳答案

要使配置生效,您应该在自定义 application 类的 onCreate() 方法中设置默认字体,而不是在 Activity 中。

另外,https://github.com/chrisjenx/Calligraphy 上的说明说注入(inject)上下文,通过覆盖 activity 中的方法如下:

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

关于android - chrisjenx 的书法库无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31397910/

相关文章:

android - Simplecursoradaptor 中的自定义文本字体

android - 可以禁用菜单按钮吗?

android - Android 中的高级 View 动画

android - 生成线程的进程的生命周期

xcode - iphone/ipad 的 uibutton 和 uilabel 的不同字体大小

java - 在java中将svg转换为pdf时更改字体

java - 如何访问从网络下载的图像

css - 创建图标字体的工具

xcode - 如何在 mac 应用程序中使用自定义字体?

html - 自定义字体渲染问题