Подтвердить что ты не робот

Как использовать 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 файле?

4b9b3361

Ответ 1

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

Использование 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 Regular
  • Roboto italic
  • Roboto bold
  • Робото выделено курсивом
  • Roboto-Light
  • Робото-свет курсивом
  • Roboto-Thin
  • Roboto-Thin italic
  • Roboto-Condensed
  • Roboto-Condensed italic
  • Roboto-Condensed bold
  • Roboto-Condensed жирным курсивом
  • Roboto-Medium
  • Roboto-medium italic

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

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

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

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

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

Вы можете cobine их, как показано ниже:

   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 шрифт и Typography Руководство по дизайну Google.

Аналогичные проблемы с StackOverflow:

Ответ 2

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

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