В ответе на этот вопрос пользователь перечисляет значения android:fontFamily
и 12 вариантов (см. Ниже). Откуда эти ценности? Документация для android:fontFamily
не перечисляет эту информацию в любом месте (я проверял здесь , и здесь ). Строки перечислены в файле Android styles.xml в разных местах, но как они соотносятся со шрифтом 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) и удалить всю избыточность, которая присутствует в некоторых стилях, созданных до того, как я взглянул на файл.
Доступные шрифты (по состоянию на Oreo)
На странице Типография дизайна материалов есть демонстрации некоторых из этих шрифтов и предложения по выбору шрифтов и стилей.
Для разработчиков кода:
fonts.xml
это исчерпывающий и постоянно расширяющийся список шрифтов Android.Используя эти шрифты
Установите
android:fontFamily
иandroid:textStyle
атрибуты, например ,до желаемых значений из этой таблицы:
(Noto Sans является резервным шрифтом; вы не можете указать его напрямую)
Примечание: эта таблица получена из
fonts.xml
. Название и стиль каждого шрифта указаны в файле fonts.xml, напримерserif-monospace
таким образом, это семейство шрифтов иnormal
стиль.Совместимость
Основываясь на журнале fonts.xml и прежнем system_fonts.xml , вы можете увидеть, когда был добавлен каждый шрифт:
источник
Насколько я знаю, вы не можете объявить пользовательские шрифты в XML или темах. Я обычно просто делаю пользовательские классы, расширяющие текстовое представление, которые устанавливают свой собственный шрифт при создании экземпляра, и использую их в моих XML-файлах макета.
то есть:
и
источник