web-dev-qa-db-ja.com

chrisjenxによる書道ライブラリが機能していません

デフォルトのフォントを設定する際に、彼のドキュメントで指示されていることを実行しました。

 @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は引き続きデフォルトのフォントとして表示され、OpenSansでは表示されません。 TextViewごとに1つずつ手動で適用しようとしましたが、それでも機能しません。

これが機能しない理由について何かアイデアはありますか?

詳細:(役立つ場合)私の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>
18
anobilisgorse

構成を有効にするには、アクティビティではなく、カスタムapplicationクラスのonCreate()メソッドでデフォルトのフォントを設定する必要があります。

また、 https://github.com/chrisjenx/Calligraphy の手順では、activity次のように:

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

@Theoの回答とともに、カスタムアプリケーションをマニフェストに登録してください

<application
  Android:name=".MyApplication" <----------- HERE
  Android:allowBackup="true"
  Android:icon="@mipmap/ic_launcher"
  Android:label="@string/app_name"
  Android:roundIcon="@mipmap/ic_launcher_round"
  Android:supportsRtl="true"
  Android:theme="@style/AppTheme">
1
ElliotM

githubのReadmeファイルに記載されているように、このバージョンの書道はサポートが終了し、メンテナンスされていません。 書道 に移行してください!

1
Omid Ziyaee