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.
- Cambiar tamaño de fuente para un mensaje AlertDialog
- ¿Cómo puedo detectar las fuentes de chino, coreano e inglés del sistema sin incluir una para cada una? (AIR móvil en Android e IOS)
- ¿Qué tipo de fuente debo utilizar para TextView que puede soportar todos los idiomas?
- ¿Cómo puedo utilizar la fuente bangla como un valor de cadena en android
- Android: carga la fuente personalizada en la tarjeta SD
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?
- ¿Qué tipo de archivos de fuentes necesito para los navegadores modernos, Android e IOS?
- Fuentes TrueType en libGDX
- Texto con fuente personalizada y estilo en negrita
- ¿Por qué Punjabi (Lengua India) aparece como cajas en algunos dispositivos inteligentes?
- Roboto fuente para Android 4 +?
- Establecer fuente personalizada para fragmentos de Android
- ¿Por qué mi título utiliza una fuente personalizada que no está centrada verticalmente en mi ActionBar?
- Activo de fuente no encontrado helvetica.ttf en lollipop
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.
- JsonSubTypes, lista de objetos polimórficos y Parcelable
- Resto objeto POST utilizando el resorte para android