ttf style studio name font family custom android fonts custom-font

style - custom font android



La biblioteca de caligrafía de chrisjenx no está funcionando (2)

Hice lo que su documentación ha indicado al configurar la fuente predeterminada:

@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() ); }

También coloqué las fuentes en assets/fonts , pero fue en vano. Roboto sigue apareciendo como fuente predeterminada y no como Open Sans. Intenté aplicarlo manualmente uno por uno a cada TextView , pero aún así no funciona.

¿Alguna idea sobre por qué esto no funciona?

Más información: (en caso de que sea útil) Mi miniSdkVersion es 15 y targetSdkVersion es 22. Estas son mis dependencias:

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'' }

Y este es el tema personalizado que estoy usando.

<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>


Junto con la respuesta de @ Theo, asegúrese de registrar su aplicación personalizada en el Manifiesto

<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">


Para que la configuración tenga efecto, debe configurar la fuente predeterminada en el método onCreate () de su clase de aplicación personalizada, en lugar de en la actividad.

Además, las instrucciones en https://github.com/chrisjenx/Calligraphy dicen inyectar en el contexto, anulando un método en la actividad de la siguiente manera:

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