Diferentes tipos de letra para Algunas actividades utilizando la Biblioteca de Caligrafía

Estoy usando la biblioteca de la caligrafía para usar la fuente de encargo en mi uso. He establecido una fuente personalizada para mi aplicación completa por la fuente predeterminada usando CalligraphyConfig , en mi clase de Application en el método #onCreate() y está funcionando bien. El problema viene cuando necesito cambiar la fuente de una actividad (SettingsActivity).

Intenté usar la fuente de encargo en estilo sin embargo no cambió la fuente de la actividad.

A continuación se muestra el código de estilo

  <style name="EnglishActivitiesTheme" parent="AppTheme"> <item name="android:textViewStyle">@style/AppTheme.Widget.TextView</item> </style> <style name="AppTheme.Widget.TextView" parent="android:Widget.Holo.Light.TextView"> <item name="fontPath">fonts/Roboto-Regular.ttf</item> </style> 

En manifiesto

  <activity android:name=".SettingsActivity" android:theme="@style/EnglishActivitiesTheme" android:parentActivityName=".MainActivity" > <meta-data android:name="android.support.PARENT_ACTIVITY" android:value=".MainActivity" /> </activity> 

¿Estoy haciendo algo mal con la fuente personalizada, aunque método de estilo? O ¿Hay mejor método para hacer esto?

Parece que es debido a AppCompat la creación de una versión diferente de los botones / textviews en tiempo de ejecución.

En su inicio de Caligrafía en su aplicación, agregue la línea:

 .addCustomStyle(AppCompatTextView.class, android.R.attr.textViewStyle) 

Para terminar con algo como:

 @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("fonts/some-other-custom-font.ttf") .addCustomStyle(AppCompatTextView.class, android.R.attr.textViewStyle) .setFontAttrId(R.attr.fontPath) .build() ); //.... } 

Y eso debe hacerse cargo de sus vistas de texto.

Editar:

Esto ahora debe arreglarse con https://github.com/chrisjenx/Calligraphy/pull/191 , actualmente como una instantánea.

No mejor solución sin embargo mejor que la fuente personalizada en esa actividad.

Acabo de quitar

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

De la actividad donde estaba intentando cambiar la fuente. En esa actividad que utiliza la fuente predeterminada android que es mejor que esa fuente personalizada para mis otras actividades.

  • Cómo obtener el espaciado de caracteres de fuente en Android
  • Definir la fuente de la carpeta de activos en el archivo xml android
  • ¿Cómo puedo configurar una fuente personalizada en mi listview?
  • Fuente Kannada en Android ICS
  • Cómo configurar la fuente de fuente personalizada a Spinner texto de forma programática?
  • ¿Fuentes personalizadas que no funcionan en piruletas?
  • Typeface.ITALIC no funciona en Galaxy Note 2
  • Tamaño de fuente pequeño en el emulador de Android
  • Reconocimiento de fuentes del dibujo a mano libre
  • ¿Hay algún carácter unicode que tiene el glifo que falta en todas las fuentes?
  • Cómo cargar las fuentes del sistema en Libgdx? Principalmente para android. ¿Y cómo puedo obtener la lista de fuentes disponibles?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.