On the Android developer documentation there is a guide on how to integrate the bottom navigation bar into your app, which uses a top level Scaffold and a NavHost as its content.
The problem
The issue I encountered with this setup is the fact that it’s hard to nest material 3 scaffolds in the NavHost as they might end up with weird paddings around the edges, especially when managing insets yourself with WindowCompat.setDecorFitsSystemWindows(window, false) in your activity.
Nesting scaffolds is often necessary when you need to add different top app bars or floation action buttons depending on the screen, and moving that conditional logic to the main scaffold often requires view models filled with ui properties that shouldn’t be there.
My approach
I’ve tried multiple solutions, and the one that worked best for me was to replace to top level Scaffold with a simple Column and add the NavHost and BottomAppBar to it!