Cómo cambiar la fuente predeterminada de la aplicación de Android?
Quiero hacer una aplicación en un idioma que no sea inglés. Así que necesito las textviews, las cadenas y el brindis para estar en el idioma no inglés. Establecer el tipo de letra para cada texto es engorroso. ¿Hay una manera de establecer una fuente predeterminada? Cuando tengo que referirme a algo en inglés (como la identificación del email) entonces puedo utilizar el método textview.settypeface (xyz).
- Android: Problemas de renderización de fuentes con .ttf> 3 MB
- La fuente personalizada da un glifo incorrecto para ciertas combinaciones de letras en Android
- Que son fuente predeterminada viene con todo el android 2.1 y superior
- Configurar la fuente personalizada dentro de `ImageAdapter extends BaseAdapter`
- RuntimeException: tipo de letra nativo no se puede hacer
- ¿Cómo cambiar la propiedad y el tamaño de CollapsingToolbarLayout?
- Uso de la fuente personalizada en Android TextView utilizando xml
- Material Android alineando la línea de base de la fuente con una cuadrícula de 4dp
- Cómo renderizar texto en C (android)?
- Fuente y color del listview del cambio del androide
- ¿Puedo subrayar texto en un diseño de Android?
- Android elegir fuentes personalizadas
- ¿Cómo recuperar una lista de fuentes disponibles / instaladas en android?
Hay una biblioteca de grate para fuentes personalizadas en android: fuentes personalizadas
He aquí un ejemplo de cómo usarlo.
En gradle usted necesita poner esta línea:
compile 'uk.co.chrisjenx:calligraphy:2.1.0'
Y luego hacer una clase que extiende la aplicación y escribir este código:
public class App extends Application { @Override public void onCreate() { super.onCreate(); CalligraphyConfig.initDefault(new CalligraphyConfig.Builder() .setDefaultFontPath("your font path") .setFontAttrId(R.attr.fontPath) .build() ); }
}
Y en la clase de actividad poner este método antes onCreate:
@Override protected void attachBaseContext(Context newBase) { super.attachBaseContext(CalligraphyContextWrapper.wrap(newBase));
Y lo último en tu archivo de manifiesto escribe así:
<application android:name=".App"
Y cambiará toda la actividad a tu fuente !. ¡Es sencillo y limpio!
Usted puede lograr esto en principalmente 3 maneras. Una manera sería crear un TextView personalizado y referir que en todas partes, es decir:
public class TypefacedTextView extends TextView { public TypefacedTextView(Context context, AttributeSet attrs) { super(context, attrs); Typeface typeface = Typeface.createFromAsset(context.getAssets(), fontName); setTypeface(typeface); } }
Y dentro de View.xml
<packagename.TypefacedTextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Hello"/>
Otra forma, es utilizar la poderosa biblioteca de Calligraphy
en github. mira esto
Y por último, puede anular los valores predeterminados con sus propias fuentes, vea esto
- OpenCV4android detecta forma y color (HSV)
- Obtención de la memoria intermedia OpenGL-ES Stencil Working