DEV Community

Cover image for Fixed Width Text in React Native
Spencer Carli
Spencer Carli

Posted on Originally published at reactnativeschool.com

Fixed Width Text in React Native

Despite working on React Native daily for 7 years, I'm still constantly learning new things about it. Recently it was the fontVariant style prop on a Text component.

This post was published a week ago on React Native School. Be sure to visit for the latest tips, tricks and tutorials on React Native!

I was working a multi-theme stop watch app in React Native (it's open source!) and ran into an issue where the width of each number was different.

Normally this is not a problem but when you are changing the numbers every millisecond it looks quite hectic.

Demo of Problem

To fix this is a simple one liner:

When styling the text, add fontVariant: ["tabular-nums"]. This will make the text a fixed width so your layout stays fixed.

Code from the example app:

// ...

const styles = StyleSheet.create({
  // ...
  timeText: {
    fontSize: 60,
    fontWeight: "300",
    marginTop: 100,
    fontVariant: ["tabular-nums"], // fixed width character
  },
})

export default StopWatch
Enter fullscreen mode Exit fullscreen mode

Demo of Solution

MDN has a good resource through which you can learn more about the font-variant CSS property.

Top comments (1)

Collapse
 
yongchanghe profile image
Yongchang He

Thank you for sharing this!