fontWeight properties on Text components are not having an affect on Android styles on React Native Version 0.60.5. If I use the bold value, the Text component picks up the bold style, but any other value 200 up through 800 all display the same appearance as normal or 100. I performed the same change on RN Version 0.59.10 and the Text component is styled correctly.
React Native version:
OS: macOS High Sierra 10.13.6
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 13.78 GB / 32.00 GB
Shell: 5.3 - /bin/zsh
Binaries:
Node: 10.16.3 - ~/.nvm/versions/node/v10.16.3/bin/node
Yarn: 1.17.3 - ~/Developer/Projects/hy-vee-grocery/node_modules/.bin/yarn
npm: 6.9.0 - ~/.nvm/versions/node/v10.16.3/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
Android SDK:
API Levels: 23, 25, 26, 27, 28
Build Tools: 27.0.3, 28.0.3, 29.0.2
System Images: android-23 | Google APIs Intel x86 Atom, android-24 | Google APIs Intel x86 Atom, android-25 | Google APIs Intel x86 Atom, android-26 | Google APIs Intel x86 Atom, android-26 | Google Play Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5692245
Xcode: 10.1/10B61 - /usr/bin/xcodebuild
npmPackages:
react: 16.8.6 => 16.8.6
react-native: 0.60.5 => 0.60.5
fontWeight of a Text component from 100 to 600 on Android.Describe what you expected to happen:
Text component should be styled with new fontWeight, but the style does not change.
Snack, code example, screenshot, or link to a repository:
RN 0.60.5

RN 0.59.10

I just used react-native init projects at RN 0.59.10 and 0.60.5 to reproduce this behavior.
It's known issue due to Android limitations. Only way to use custom font weights is to create a custom font.
Android added support changing font weights programmatically, but won't work on older versions.
@dulmandakh why old version of react native works?
It's known issue due to Android limitations. Only way to use custom font weights is to create a custom font.
So... How would you go about doing that?
I am facing the same issue, any tips?
I have the exact same question as @hweister. If this were a pure Android limitation then why does it work in 0.58.6 on the same Android device / emulator?
PR was here: https://github.com/facebook/react-native/pull/25341
Workarounds here: https://github.com/facebook/react-native/issues/25696
I wrote a npm package to handle mapping of custom fonts (eg. Roboto-Light, Roboto-Heavy) to font weights. Heavily modified from jacobcabantomski-ct's code above.
thanks @aelesia and @jacobcabantomski-ct for idea and code
its temporary solution before 0.62 release for Expo and RN: react-native-text-weight
Has it been fixed in RN 0.62.0?
Has it been fixed in RN 0.62.0?
No
This issue should be reopened
Only 'bold' seems to be working... Badly need the numerical values.
I am too facing same issue.
I am using expo client and Android mobile device. I tried installing custom font, still only bold (700 on android) and regular is working.
Issue should be reopen
@Saurabh-stack https://github.com/facebook/react-native/pull/29117 fixes this. This issue will be closed once https://github.com/facebook/react-native/pull/29117 is merged
It seems like roboto doesn't have 600 weight
I still have the same issue can anyone tell me about how to solve it!!
react-native-cli: 2.0.1
react-native: 0.63.2
Most helpful comment
I still have the same issue can anyone tell me about how to solve it!!
react-native-cli: 2.0.1
react-native: 0.63.2