Skip to content

BottomNavigationBar shifting={false} display bug on iOSΒ #4819

@studioromeo

Description

@studioromeo

Current behaviour

When using component. On iOS (26) the active state's background is sometimes squashed.

This behaviour is not present on Android (36).

If shifting={true} is passed then the issue is resolved. It is only if shifting={false}

Expected behaviour

Same display on both platforms

How to reproduce?

from snack

app.js

import { PaperProvider } from "react-native-paper";

// You can import supported modules from npm
import MyComponent from './components/MyComponent';

export default function App() {
  return (
    <PaperProvider>
      <MyComponent></MyComponent>
    </PaperProvider>
  );
}

MyComponent.js is sample code from https://callstack.github.io/react-native-paper/docs/components/BottomNavigation

Using "react-native-paper": "^5.14.5",

Preview

Simulator.Screen.Recording.-.iPhone.17.Pro.-.2025-10-10.at.14.22.13.mov

What have you tried so far?

I have tried various combinations of these attributes

shifting={false}
compact={true}
labeled={false}

I have also tried setting the style manually using

 activeIndicatorStyle={{
        width: 123 // any number basically
        height: 32,
        borderRadius: 16,
      }}

I have also tried decreasing the number of tabs to see if it was a space issue.

The only setting that fixed on iOS was shifting={true} but obviously this changes the behaviour entirely.

Android is unaffected by this bug it seems.

Update
This seems to be related to the animation not playing on iOS. From reading the code it seems like the pill is supposed to start in a narrow state and expand outwards however this is not happening (on either platform)

If I set the output range to 1,1 then the pill is the correct size

// Scale horizontally the outline pill
            const outlineScale = focused
              ? active.interpolate({
                  inputRange: [0, 1],
                  outputRange: [1, 1],
                })
              : 0;

Your Environment

software version
ios 26
android 36
react-native 19.1.0
react-native-paper 5.14.5
node 24.9.0
npm or yarn 11.6.0
expo sdk 54.0.10

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions