2.0.0 • Published 6 months ago

react-native-responsive-fontsize-2 v2.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

React Native Responsive Font Size

A utility for responsive font scaling in React Native applications, with improved support for modern devices including notched phones and tablets.

Features

  • 📱 Responsive font scaling based on device height
  • 📏 Percentage-based and value-based scaling options
  • 🎯 Precise handling of notched devices (iPhone X+)
  • 💪 Robust tablet support for both iOS and Android
  • 🔄 Landscape/Portrait orientation support
  • 📝 TypeScript support

Installation

npm install react-native-responsive-fontsize
# or
yarn add react-native-responsive-fontsize

Usage

import { RFPercentage, RFValue } from "react-native-responsive-fontsize";

// Percentage based
<Text style={{ fontSize: RFPercentage(3) }}>
  This text is 3% of screen height
</Text>

// Value based (using default base height of 680)
<Text style={{ fontSize: RFValue(16) }}>
  This text scales based on device height
</Text>

// Value based with custom base height
<Text style={{ fontSize: RFValue(16, 800) }}>
  This text uses a custom base height
</Text>

API

RFPercentage(percent: number)

Returns a font size that is percent percent of the screen height.

RFValue(fontSize: number, standardScreenHeight?: number)

Returns a font size scaled relative to a standard screen height (default: 680).

Device Support

  • iOS Phones (including notched devices)
  • Android Phones
  • iOS Tablets (iPad)
  • Android Tablets
  • Handles both portrait and landscape orientations

How It Works

The library uses different scaling strategies based on device type:

  • Regular phones: Direct scaling based on screen height
  • Notched iOS devices: 0.92x scaling factor in portrait mode
  • Android devices: 15% height reduction for status bar
  • Tablets: Special scaling using tablet base height (0.6x factor)

Contributing

Pull requests are welcome! Please read our contributing guidelines before getting started.

License

MIT

react-native-responsive-fontsize

PRs Welcome Platform License Greenkeeper badge

Use this library if you have a small problem with the font size 🎉

How to install

yarn add react-native-responsive-fontsize
# or
npm install react-native-responsive-fontsize --save

How it looks on different device sizes

iPhone SEiPhone X

Methods

argumentsDescription
RFPercentagepercent: numberThe font size is calculated as a percentage of the height(width in landscape mode) of the device.
RFValuevalue: number, standardScreenHeight?: numberThe font size is calculated based on standardScreenHeight and passed value
  • when using RFValue's standardScreenHeight
    • default standardScreenHeight is 680
    • In landscape mode, please pass the screen width

Usage

import { RFPercentage, RFValue } from "react-native-responsive-fontsize";

const styles = StyleSheet.create({
  welcome: {
    fontSize: RFValue(24, 580) // second argument is standardScreenHeight(optional),
    textAlign: "center",
    margin: 10,
  },
  instructions: {
    textAlign: "center",
    color: "#333333",
    marginBottom: 5,
    fontSize: RFPercentage(5),
  },
});

Changelog

releases