not - roboto font android studio



Допустимые значения для android: fontFamily и на что они направлены? (2)

В ответе на этот вопрос пользователь перечисляет значения для android:fontFamily и 12 вариантов (см. Ниже). Откуда берутся эти ценности? Документация для android:fontFamily не перечисляет эту информацию ни в каком месте (я проверил here и here ). Строки перечислены в styles.xml Android в разных местах, но как эти карты вернутся к шрифту Roboto?

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

в сочетании с этим

android:textStyle="normal|bold|italic" 

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

  • регулярное
  • курсивный
  • Смелый
  • Жирный курсив
  • Свет
  • Светло-наклонным
  • тонкий
  • Тонкий курсив
  • Сжатый регулярный
  • Сжатый курсив
  • Сжатый жирный
  • Сжатый полужирный

В styles.xml в приложении я работаю над кем-то, указав это как семейство шрифтов, и я уверен, что это неправильно:

<item name="android:fontFamily">Roboto-Regular.ttf</item>

Я хотел бы правильно настроить тему для нашего приложения (в том числе правильно использовать fontFamily) и удалить всю избыточность, которая находится в некоторых стилях, которые были созданы до того, как я просмотрел файл.


Answer #1

Откуда берутся эти ценности? Документация для android: fontFamily не перечисляет эту информацию ни в одном месте

Они действительно не указаны в документации. Но они упоминаются here в разделе «Шрифтовые семьи». В документе перечислены все новые общедоступные API для Android Jelly Bean 4.1.

В файле styles.xml в приложении я работаю над кем-то, указав это как семейство шрифтов, и я уверен, что это неправильно:

Да, это неправильно. Вы не ссылаетесь на файл шрифта, вы должны использовать имя шрифта, указанное в связанном документе выше. В этом случае это должно быть так:

<item name="android:fontFamily">sans-serif</item>

Как уже упоминалось связанный ответ, возможны 12 вариантов:

Добавлено в Android Jelly Bean (4.1) - API 16:

Обычный (по умолчанию):

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">normal</item> 

Курсив :

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">italic</item>

Полужирный :

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">bold</item>

Полужирный :

<item name="android:fontFamily">sans-serif</item>
<item name="android:textStyle">bold|italic</item>

Свет :

<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textStyle">normal</item>

Светло-курсивом :

<item name="android:fontFamily">sans-serif-light</item>
<item name="android:textStyle">italic</item>

Тонкий :

<item name="android:fontFamily">sans-serif-thin</item>
<item name="android:textStyle">normal</item>

Тонко-курсив :

<item name="android:fontFamily">sans-serif-thin</item>
<item name="android:textStyle">italic</item>

Сжатый регулярный :

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">normal</item>

Сжатый курсив :

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">italic</item>

Сжатый жирный шрифт :

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">bold</item>

Сжатый жирный курсив :

<item name="android:fontFamily">sans-serif-condensed</item>
<item name="android:textStyle">bold|italic</item>

Добавлено в Android Lollipop (v5.0) - API 21:

Средний :

<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">normal</item>

Средне-курсивом :

<item name="android:fontFamily">sans-serif-medium</item>
<item name="android:textStyle">italic</item>

Черный :

<item name="android:fontFamily">sans-serif-black</item>
<item name="android:textStyle">italic</item>

Для быстрой справки, вот как они выглядят так:


Answer #2

Доступные шрифты (от Oreo)

На странице типовой типографии материалов представлены демонстрации некоторых из этих шрифтов и предложения по выбору шрифтов и стилей.

Для сыщиков кода: android.googlesource.com/platform/frameworks/base/+/master/data/… является окончательным и постоянно расширяющимся списком шрифтов Android.

Использование этих шрифтов

Установите android:fontFamily и android:textStyle , например

<!-- Roboto Bold -->
<TextView
    android:fontFamily="sans-serif"
    android:textStyle="bold" />

к требуемым значениям из этой таблицы:

Font                     | android:fontFamily          | android:textStyle
-------------------------|-----------------------------|-------------------
Roboto Thin              | sans-serif-thin             |
Roboto Light             | sans-serif-light            |
Roboto Regular           | sans-serif                  |
Roboto Bold              | sans-serif                  | bold
Roboto Medium            | sans-serif-medium           |
Roboto Black             | sans-serif-black            |
Roboto Condensed Light   | sans-serif-condensed-light  |
Roboto Condensed Regular | sans-serif-condensed        |
Roboto Condensed Medium  | sans-serif-condensed-medium |
Roboto Condensed Bold    | sans-serif-condensed        | bold
Noto Serif               | serif                       |
Noto Serif Bold          | serif                       | bold
Droid Sans Mono          | monospace                   |
Cutive Mono              | serif-monospace             |
Coming Soon              | casual                      |
Dancing Script           | cursive                     |
Dancing Script Bold      | cursive                     | bold
Carrois Gothic SC        | sans-serif-smallcaps        |

(Noto Sans - резервный шрифт, вы не можете указать его напрямую)

Примечание. Эта таблица выводится из android.googlesource.com/platform/frameworks/base/+/master/data/… . Имя и стиль каждого шрифта перечислены в файле fonts.xml, например

<family name="serif-monospace">
    <font weight="400" style="normal">CutiveMono.ttf</font>
</family>

Таким образом, serif-monospace является семейством шрифтов, а normal является стиль.

Совместимость

На основе log fonts.xml и прежнего system_fonts.xml вы можете увидеть, когда был добавлен каждый шрифт:

  • Мороженое Сэндвич: Робото регулярный, полужирный, курсив и жирный курсив
  • Jelly Bean: свет Roboto, светло-курсив, конденсированный, конденсированный жирный, конденсированный курсив и конденсированный жирный курсив
  • Jelly Bean MR1: Roboto тонкий и тонкий курсив
  • Леденец:
    • Робото средняя, ​​средняя курсив, черный и черный курсив
    • Noto Serif регулярный, полужирный, курсив, жирный курсив
    • Режущий моно
    • Скоро будет
    • Танцевальный скрипт
    • Carrois Gothic SC
    • Ното Санс
  • Oreo MR1: конденсированная среда Roboto




styles