feat(android): large navbar titles that collapse like iOS

Merged
RI
19h ago
+189-6

large was iOS-only; Android ignored it. Now Android shows a large title too.

  • large: true: the bar grows by 52dp (iOS goes 44 โ†’ 96, same row) and shows a bold 32sp title under the toolbar row. Toolbar items stay in the top row, like iOS.
  • large: false with the same title: animated collapse (220ms). The bar shrinks, the large title fades out, then the inline toolbar title fades in, so the two never overlap.
  • A different title (new page) snaps; the page transition already animates.
  • Insets (top, navbarHeight) follow the target state so the WebView reflows once, not per frame. Animation frames only resize the navbar container.
  • Screen readers keep reading the toolbar title; the large copy is marked not important for accessibility.
  • Geometry and fade math live in NavbarLargeTitleSupport with unit tests.

Tested in the Mimesis app on an API 36 emulator: tab pages show the large title, scrolling collapses and expands it, tab switches and push pages (back button, no large title) are fine, no crashes. ./gradlew build test, eslint and prettier pass.

๐Ÿค– Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.