Skip to content

Move reading screen menu toolbar to the bottom#3687

Open
kkebb wants to merge 4 commits into
quran:mainfrom
kkebb:feature/bottom-menu-bar
Open

Move reading screen menu toolbar to the bottom#3687
kkebb wants to merge 4 commits into
quran:mainfrom
kkebb:feature/bottom-menu-bar

Conversation

@kkebb

@kkebb kkebb commented Jun 16, 2026

Copy link
Copy Markdown

Summary

Relocates the reading screen (PagerActivity) action bar from the top to the bottom of the screen, so navigation, search, and settings sit within easier thumb reach during reading.

  • Group the audio bar and menu toolbar into a single bottom-anchored container, with the menu toolbar as the bottom-most element (closest to the user's fingers) and the audio bar stacked just above it.
  • Apply the bottom navigation-bar / display-cutout inset on toolbar_area (which has a solid background), so the gesture-nav zone is filled with no transparent gap showing the mushaf underneath.
  • When search is expanded, hide the audio bar and lift only the menu toolbar above the keyboard (the whole bottom stack no longer floats mid-screen).
  • Hide/show by sliding the whole bottom container down/up together, instead of the toolbar sliding up and the audio bar sliding down separately.
  • Drop the audio bar's bottom inset since the menu toolbar now sits below it and handles that inset.

PR stack & overlap

This PR is one of three related UX improvements. It does not share any files with #3688 — they touch different screens:

PR Screen Scope
This PR (#3687) Reading (PagerActivity) Bottom toolbar + audio bar
#3688 Home (QuranActivity) Bottom nav tabs + bottom toolbar
#3686 Both Random ayah menu (merges this PR + #3688)

Both bottom PRs use similar patterns (bottom chrome, inset handling, search keyboard behavior) but on different activities and layout files. They can merge in either order.

Changes

  • app/.../ui/PagerActivity.ktbottomBarArea reference, bottom inset + IME handling on toolbar_area, unified animateToolBar, search expand hides audio bar.
  • app/.../res/layout/quran_page_activity.xml — wrap audio bar + toolbar in a bottom-anchored vertical container.
  • feature/audiobar/.../AudioBarWrapper.kt — only apply horizontal insets now (toolbar handles bottom inset).

Related

Test plan

  • Open a page in PagerActivity; confirm the menu toolbar appears at the bottom with title/up/search/overflow.
  • Tap the page to toggle chrome; confirm the bottom bar slides down to hide and back up to show.
  • Start audio playback; confirm the audio bar appears directly above the menu toolbar with no gap/overlap.
  • Toolbar and audio bar sit flush at the bottom of the screen (no transparent mushaf strip below the toolbar on gesture-nav devices).
  • Expand search; confirm only the search toolbar lifts above the keyboard and the audio bar hides.
  • Verify the overflow (3-dot) menu and SearchView work correctly from the bottom position.
  • Check gesture-nav and 3-button-nav devices: toolbar clears the navigation bar; no double padding on the audio bar.
  • Verify translation mode (spinner in toolbar) and night mode still render correctly.

Test results

./gradlew :app:testMadaniDebugUnitTest -PdisableFirebase
  • BUILD SUCCESSFUL (latest run: 2026-06-16)
  • Full :app unit test suite passing (0 failures, 0 errors)

Also verified on an Android emulator (API 36, Pixel 6): reading toolbar renders at the bottom with audio bar stacked above it when playback is active; bottom gap fix confirmed (toolbar_area extends to screen bottom).

Made with Cursor

Relocate the PagerActivity action bar from the top to the bottom of the
screen so navigation, search, and settings are within easier thumb reach.

- Group the audio bar and menu toolbar in a bottom-anchored container,
  with the menu toolbar as the bottom-most element.
- Apply the bottom navigation-bar/cutout inset to the toolbar instead of
  the top status-bar inset.
- Slide the whole bottom container down to hide it (instead of the
  toolbar sliding up and the audio bar sliding down separately).
- Drop the audio bar's bottom inset since the toolbar now sits below it.

Co-authored-by: Cursor <cursoragent@cursor.com>
kkebb and others added 3 commits June 16, 2026 15:52
Apply IME insets to the bottom bar container so the audio bar and menu
toolbar move above the soft keyboard when the SearchView is expanded.

Co-authored-by: Cursor <cursoragent@cursor.com>
Hide the audio bar while SearchView is expanded and apply IME insets to
the menu toolbar only, instead of lifting the entire bottom bar stack.

Co-authored-by: Cursor <cursoragent@cursor.com>
Move system bar and cutout padding from the transparent bottom container
onto toolbar_area so its background fills the gesture-nav zone, while still
merging IME lift for search.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant