Skip to content

BottomNavigationBar is broken according to material.io specifications #18740

@amrnt

Description

@amrnt

I've been looking into this for a while. But I guess after the release for the latest version of Material specification, it's time to open this issue/request.

Before the release, I was trying to implement the BottomNavigationBar behaviour that I can find everywhere on my mobile (ios/android). Youtube, instagram, ... they all implement (almost) the new Material specification.

Some of the specification are implemented in a way in CupertinoTabBar here: https://docs.flutter.io/flutter/cupertino/CupertinoTabBar-class.html

Reading here: https://material.io/design/components/bottom-navigation.html#behavior

Tapping a bottom navigation destination results in one of the following:
* It takes the user to the screen associated with it
* On a visited section, it returns the user to their previous scroll position there
* On the current section, it scrolls the page back to the top and may refresh it

Bottom navigation destinations don’t:
* Open menus or dialogs

On Android, the Back button does not navigate between bottom navigation destinations.

Understanding the behaviour can result in this implementation that CupertinoTabBar already implements: Each "tab" has its own routing state, as well as they the bottom navigation bar is always presents in the application.

For when you tap on the bottom navigation item, one implementation I suggested here: #15493 that is the answer (kindof) to the point It takes the user to the screen associated with it.

I hope I can see feedback and suggestions on this.

Metadata

Metadata

Assignees

Labels

c: new featureNothing broken; request for a new capabilitycustomer: crowdAffects or could affect many people, though not necessarily a specific customer.f: material designflutter/packages/flutter/material repository.frameworkflutter/packages/flutter repository. See also f: labels.r: fixedIssue is closed as already fixed in a newer version

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions