type style studio regular font family android android-layout roboto

style - set font android programmatically



Cómo usar Roboto en el diseño xml (2)

Lo escucho a menudo hoy en día: "Roboto es el tipo de fuente predeterminado". ¿Pero cómo uso este tipo de fuente predeterminado? Lo que quiero decir específicamente es que en los viejos tiempos cuando solía descargar los activos, etc., solía tener que especificar cosas como

<item name="typeface">roboto_bold</item>

Imagina que estoy interesado en usar todo el dicho (a su vez)

roboto_thin roboto_thin_italic roboto_light roboto_light_italic roboto_regular roboto_italic roboto_medium roboto_medium_italic roboto_bold roboto_bold_italic roboto_black roboto_black_italic roboto_condensed_light roboto_condensed_light_italic roboto_condensed_regular roboto_condensed_italic roboto_condensed_bold roboto_condensed_bold_italic roboto_slab_thin roboto_slab_light roboto_slab_regular roboto_slab_bold

¿Cómo los especifico en mi archivo de diseño xml o en el archivo style.xml ?


Ya he encontrado algunas posibilidades

Usando fontfamily

La forma más simple sería agregar el atributo fontFamily a su view específica como TextView

De acuerdo con Cómo cambiar fontFamily of TextView en Android

Desde Android 4.1 / 4.2 / 5.0, están disponibles las siguientes familias de fuentes Roboto :

android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)

http://developer.android.com/reference/android/widget/TextView.html#attr_android:typeface

en combinación con

android:textStyle="normal|bold|italic"

estas 14 variantes son posibles:

  • Roboto regular
  • Roboto cursiva
  • Roboto negrita
  • Roboto negrita cursiva
  • Roboto-Light
  • Roboto-Light cursiva
  • Roboto-Thin
  • Roboto-Thin cursiva
  • Roboto-condensado
  • Roboto-Condensado en cursiva
  • Roboto-Condensed bold
  • Roboto-Condensado negrita cursiva
  • Roboto-Medium
  • Roboto-Medium cursiva

También puede hacer esto programáticamente usando el código de la siguiente manera:

textView.setTypeface(Typeface.create("sans-serif-thin", Typeface.NORMAL));

Usando typeface

Las fuentes built-ibn disponibles son:

  • normal
  • sin
  • serif
  • monospace

Puede combinarlos como a continuación:

android:typeface="sans" | "serif" | "monospace"

Ver android: tipo de letra .

Usando styles.xml

Estableces el estilo en styles.xml` así:

<style name="boldText"> <item name="android:textStyle">bold|italic</item> <item name="android:textColor">#FFFFFF</item> </style>

y para usar este estilo en el archivo de diseño main.xml simplemente use:

style="@style/boldText"

Combinando atrributes de texto

Puede mezclar atributos TextView como en el siguiente código:

android:fontFamily="serif" android:textStyle="italic"

Usar bibliotecas de terceros

Foundry : aplique tipos de letra personalizados a través de diseños y estilos XML.

android-typeface-helper - Typeface helper para Android

Conferencia adicional

También es posible que desee leer sobre la tipografía Roboto y la Guía de diseño de Google Typography .

Problemas similares de :

Además de la respuesta de piotrek , aquí hay una hoja de prueba rápida si no has decidido qué fuente de Roboto usar: