Enable edge-to-edge message list with navigation bar scrim behavior by Gael43 · Pull Request #10541 · thunderbird/thunderbird-android
Navigation Menu
- Notifications You must be signed in to change notification settings
- Fork 2.7k
Conversation
Summary
This PR adds edge-to-edge rendering for the message list with a transparent system navigation bar and a bottom scrim behavior adapted to the active navigation mode.
Changes
- Updated shared Theme2 light/dark themes:
android:navigationBarColoris transparentandroid:windowLightNavigationBaris set per theme
- Updated
BaseActivity:- Configures both
isAppearanceLightStatusBarsandisAppearanceLightNavigationBars - Adds protected inset extension points:
getContentContainerBottomInset(systemBarsBottom, imeBottom)shouldConsumeRootInsets()
- Configures both
- Updated
MessageHomeActivity:- Uses
imeBottomfor content bottom inset - Returns root insets to child views (
shouldConsumeRootInsets() = false)
- Uses
- Updated message list layout:
- Added
@id/message_list_navigation_bar_scrimas a bottom overlay scrim
- Added
- Updated
BaseMessageListFragment:- Applies dynamic system-bar padding to the
RecyclerView(left/right/bottom) - Sizes/positions the bottom scrim from navigation bar insets
- Detects navigation mode from
WindowInsets - Gesture navigation: scrim is visible by default, hides on scroll down, reappears on scroll up and at top
- 3-button navigation: scrim remains visible at all times (opaque bottom area)
- FAB insets handling uses a single
WindowInsetslistener with consistent system-bar-aware margins
- Applies dynamic system-bar padding to the
- Updated
MessageViewFragment:- Applies dynamic bottom padding from system bar insets to prevent overlap of bottom actions/content
Manual Validation
- Light theme: transparent nav bar with readable dark nav icons
- Dark theme: transparent nav bar with readable light nav icons
- Gesture navigation:
- List content scrolls under the bottom system area
- Scrim visibility follows scroll direction
- Last list item remains reachable
- 3-button navigation:
- Bottom area remains opaque at all times
- No transparency effect while scrolling
- FAB remains correctly positioned relative to nav controls
- Message view:
- Bottom actions/content are not obscured by the navigation area
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters