Cómo utilizar la fuente de Roboto en android Project

He desarrollado un proyecto androide. En este proyecto, la fuente de texto predeterminada es android: sans.

Ahora quiero reemplazar la fuente de texto predeterminada a la fuente roboto para todo mi proyecto.

¿Cómo puedo hacer esto?

Puede descargar la fuente de Roboto desde aquí: https://www.google.com/design/spec/resources/roboto-noto-fonts.html .

Puedes hacerlo de la manera convencional usando TypeFace , así:

 Typeface typeface = Typeface.createFromAsset(getAssets(), fontName); textView.setTypeface(typeface); 

Nota: Lo anterior tendrá que ser hecho en cada Activity .

Si, por ejemplo, desea aplicar la fuente Roboto a todos los TextView's su aplicación, deberá crear su propio widget que amplíe TextView .

Hay una manera simple de hacer esto. Siga los pasos de esta respuesta en SO: https://stackoverflow.com/a/9199258/450534 (accesorios completos a la leocadiotina para la solución. Lo he usado antes y funciona como un encanto)

EDIT: Piense en your_namespace como un marcador para que usted pueda darle un nombre de su elección. Por ejemplo, al integrar Admob en XML, uso xmlns:ads . Puede utilizar, por ejemplo: xmlns:font o algo descriptivo.

En cuanto a lo que significa la costumbre.ttf , es básicamente el archivo de fuentes con su extensión que usted necesita para copiar en su carpeta de Assets . Por ejemplo, si está utilizando ROBOTO-REGULAR.TTF , reemplace el custom.ttf por ROBOTO-REGULAR.TTF . Utilizando este ejemplo, todo el código debería verse así:

 <your.package.widget.TypefacedTextView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:font="http://schemas.android.com/apk/res/your.package" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Custom fonts in XML are easy" android:textColor="#FFF" android:textSize="14dip" font:typeface="ROBOTO-REGULAR.TTF" /> 
  1. Descargar y descomprimir el archivo zip de la fuente Roboto

  2. Cree una carpeta de assets en su proyecto si no tiene uno ya. Estoy asumiendo que estás usando Android Studio, así es como hacerlo. Introduzca aquí la descripción de la imagen

  3. Cree un nuevo directorio en la carpeta de activos, nombre de la font .

  4. Abra el archivo descomprimido y copie el estilo de fuente de su elección. Su carpeta de fuentes debe tener este aspecto:

Introduzca aquí la descripción de la imagen

Ahora puedes usar esta fuente en cualquier parte de tu aplicación como esta:

  Typeface roboto = Typeface.createFromAsset(context.getAssets(), "font/Roboto-Bold.ttf"); //use this.getAssets if you are calling from an Activity txtView.setTypeface(roboto); 
 txtView = (TextView) findViewById(R.id.txtView); Typeface myTypeface = Typeface.createFromAsset( this.getAssets(), "font/Robot.otf"); txtView.setTypeface(myTypeface); 

Puede hacerlo fácilmente usando el Typerlib .

Esta biblioteca acumula la complejidad de agregar un recurso de fuente en su proyecto y recicla la fuente recientemente creada para maximizar la perfromance de su aplicación.

Añada esto a su build.gradle

 dependencies { compile 'com.elmargomez.typer:typerlib:1.0.0' } 

Entonces usted puede utilizar la fuente por

 TextView txtView1 = (TextView) findViewById(R.id.yourTxtView1); TextView txtView2 = (TextView) findViewById(R.id.yourTxtView2); TextView txtView3 = (TextView) findViewById(R.id.yourTxtView3); TextView txtView4 = (TextView) findViewById(R.id.yourTxtView4); txtView1.setTypeface(Typer.set(yourContext).getFont(Font.ROBOTO_REGULAR)); txtView2.setTypeface(Typer.set(yourContext).getFont(Font.ROBOTO_CONDENSED_ITALIC)); txtView3.setTypeface(Typer.set(yourContext).getFont(Font.ROBOTO_THIN)); txtView4.setTypeface(Typer.set(yourContext).getFont(Font.ROBOTO_BOLD)); 

Incluye todas las fuentes actuales en Roboto, como:

  Font.ROBOTO_MEDIUM Font.ROBOTO_REGULAR etc. 

Para ver todas las fuentes disponibles, utilice Android Studio Auto después de la clase Fuente pulsando Ctrl + espacio .

Una observación más para el uso de la función Typeface.createFromAsset() . Cuando tuve muchas llamadas, impactó significativamente el tiempo de inflación. Para superar este problema, hemos creado una instancia singleton de Typeface como este

 public static Typeface getTypeFace() { if (fromAsset == null) { fromAsset = Typeface.createFromAsset(getContext().getAssets(), "fonts/Roboto-Medium.ttf"); } return fromAsset; } 
  • ¿Dónde debo colocar el archivo de fuentes en los recursos de Android?
  • Cómo instalar la fuente múltiple en el dispositivo android manualmente
  • Uso de la fuente personalizada en Android TextView utilizando xml
  • Android: Desea establecer fuentes personalizadas para toda la aplicación no en tiempo de ejecución
  • Material Android alineando la línea de base de la fuente con una cuadrícula de 4dp
  • Cómo obtener el tamaño de texto predeterminado en píxeles en Android
  • Tipo de letra para Android DatePicker
  • Fuente personalizada para Android listview
  • Cómo cambiar el color y la fuente en ListView
  • Fuente personalizada utilizada en toda la aplicación
  • ¿Cómo mostrar el texto vectorizado usando libgdx?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.