Родной андроидный шрифтFamily не вступает в силу
Вопрос 1:
Я добавляю стиль fontFamily в style.android.js приветствую, но он не действует. Действительно ли fontFamily работает на android?
Добро пожаловать: {
FONTSIZE: 20,
FontFamily: 'Roboto тонкий',
TextAlign: 'центр',
Запас: 10}
Вопрос 2:
если fontFamily работает на android, есть ли способ загрузить пользовательский шрифт из активов? Или это какая-то функция, которую можно реализовать с помощью реакции-native?
Ответы
Ответ 1
Для Android:
Пользовательские шрифты были добавлены с 0.16.0-rc. Поэтому сначала вам нужно иметь версию 0.16.0-rc, после чего вы можете просто загрузить любые шрифты из Интернета.
- Поместите свои файлы шрифтов в папку проекта /android/app/src/main/assets/fonts/font _name.ttf
- Не забудьте перекомпилировать, что есть:
react-native run-android
- И тогда вы можете использовать
fontFamily: 'font_name'
в своем стиле.
Ответ 2
Также обратите внимание на следующие ограничения для пользовательских шрифтов Android в native-native:
- шрифты должны быть помещены в
android/app/src/main/assets/fonts
- поддерживается только
.ttf
.
- Имя файла должно точно соответствовать
fontFamily
. Например, если fontFamily
- 'Source Sans Pro'
,
файл должен быть вызван Source Sans Pro.ttf
(и NOT SourceSansPro.ttf
). Любые суффиксы, упомянутые в следующем абзаце, автоматически удаляются из файла.
- Когда шрифт выделен жирным шрифтом и/или курсивом, он должен использовать следующие суффиксы:
-
_bold
(например, Source Sans Pro_bold.ttf
)
-
_italic
-
_bold_italic
Ответ 3
Я считаю, что следующая более чистая альтернатива уже описанным здесь методам:
Поместите все ваши шрифты в вас. Справочный каталог проекта
./assets/fonts/
Добавьте следующую строку в свой пакет package.json
"rnpm": {
"assets": ["./assets/fonts"]
}
наконец, запускается в терминале из каталога проекта
$ react-native link
чтобы использовать его, объявляйте этот способ в своих стилях
fontFamily: 'your-font-name without extension'
Если ваш шрифт Raleway-Bold.ttf, тогда
fontFamily: 'Raleway-Bold'
Источник https://medium.com/@danielskripnik/how-to-add-and-remove-custom-fonts-in-react-native-b2830084b0e4
Ответ 4
Эта функция еще не реализована. См. Соответствующую проблему в github здесь.
Ответ 5
Кажется, что пользовательский шрифт был добавлен, проверьте эту фиксацию:
https://github.com/facebook/react-native/commit/bfeaa6a4f531cfc18c097bc9ffb6a8dbe3ddc702
Ответ 6
Здравствуйте, этот вопрос для меня более двух дней с шрифтом "El + Messiri" " https://fonts.google.com/specimen/El+Messiri "
я делал все мысли пишу:
- Поместите файлы шрифтов в папку проекта /android/app/src/main/assets/fonts/ElMessiri-Regular.ttf
- Не забудьте перекомпилировать, который является: реакции-родной запустить-Android, а затем
-
Вы можете использовать fontFamily: ElMessiri-Regular в своем стиле.
но ошибка была в том, что я использовал fontWeight: 'bold' после fontFamily: 'ElMessiri-Regular', а fontWeight перебирал fontFamily, потому что шрифт "El + Messiri" имеет свой собственный fontFamily, который называется "ElMessiri-Bold"
Ответ 7
fontFamily не работает в inlinstyle, вы должны изменить с
в
const styles = StyleSheet.create({text: {fontFamily: 'SantPro',
},
},
}) })