Как использовать Roboto в макете xml

В последнее время я часто слышу: «Roboto — тип шрифта по умолчанию». Но как мне использовать этот тип шрифта по умолчанию? В частности, я имею в виду, что в старые времена, когда я загружал активы и т. д., мне приходилось указывать такие вещи, как

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

Представьте, что я заинтересован в использовании всех слов (по очереди)

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

Как указать их в моем файле макета xml или файле style.xml?


person Nouvel Travay    schedule 23.12.2015    source источник


Ответы (2)


Я уже нашел некоторые возможности

Использование fontfamily

Самый простой способ - добавить атрибут fontFamily к вашему конкретному view, например TextView.

Согласно Как изменить fontFamily TextView в Android

Начиная с Android 4.1 / 4.2 / 5.0 доступны следующие семейства шрифтов 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

в комбинации с

android:textStyle="normal|bold|italic"

возможны 14 вариантов:

  • Робото обычный
  • курсив робото
  • Робото смелый
  • Робото полужирный курсив
  • Робот-Лайт
  • Курсив Roboto-Light
  • Робото-тонкий
  • Roboto-Thin курсив
  • Робото-Конденсированный
  • Курсив Roboto-Condensed
  • Роботизированный жирный шрифт
  • Roboto-Condensed полужирный курсив
  • Робото-Медиум
  • Roboto-средний курсив

Вы также можете сделать это программно, используя код, как показано ниже:

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

Использование typeface

Доступные встроенные шрифты ibn:

  • обычный
  • без
  • с засечками
  • моноширинный

Вы можете объединить их, как показано ниже:

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

См. android:typeface.

Использование styles.xml

Вы устанавливаете стиль в styles.xml следующим образом:

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

и чтобы использовать этот стиль в файле макета main.xml, просто используйте:

style="@style/boldText"

Объединение текстовых атрибутов

Вы можете смешивать атрибуты TextView, как в коде ниже:

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

Использование сторонних библиотек

Foundry — применение пользовательских шрифтов с помощью макетов и стилей XML.

android-typeface-helper — помощник по шрифтам для Android

Дополнительная лекция

Вы также можете прочитать о шрифте Roboto и Типографика Руководство по дизайну Google.

Similar StackOverflow Issues:
person piotrek1543    schedule 23.12.2015
comment
Даже я этим пользуюсь, на самсунге шрифт выглядит иначе. Я заметил разницу со знаком доллара. Есть идеи? - person Gokhan Arik; 25.09.2018

В дополнение к ответу piotrek, вот краткая шпаргалка, если вы еще не решили, какой шрифт Roboto использовать:

введите описание изображения здесь

person Simon    schedule 20.11.2017
comment
Где можно скачать эти шрифты? - person IgorGanapolsky; 20.07.2021