android / compose-samples

Official Jetpack Compose samples.
https://developer.android.com/jetpack/compose
Apache License 2.0
19.84k stars 4.71k forks source link

Fixed spacing for floating toolbar + back support #1452

Closed IanGClifton closed 2 weeks ago

IanGClifton commented 2 weeks ago

The floating toolbar seen in expanded width windows was implemented as a sticky header. The problem with that is it allows the toolbar to go behind the status bar on scroll due to edge-to-edge. For a real sticky header, you'd probably want to implement inset handling into the header so that it sticks just below any insets. In this case, that would mean the toolbar never actually moves, so I pulled it out of sticky header and just put it as a sibling with the LazyColumn. By adding the safeDrawing insets, this keeps it positioned at the top right of the safeDrawing area.

I also added a BackHandler for the drawer, so that pressing back closes the drawer. I don't see any clean way to implement predictive back with a modal navigation drawer.