Files
GajuMobile-Android/.artifacts/b3cb996b-7f1f-4810-999d-5be96c526f74/walkthrough.artifact.md
T
2026-08-17 18:32:40 +09:00

2.9 KiB

Walkthrough - Edge-to-Edge Layout Fixes

I have implemented comprehensive edge-to-edge layout support across the GajuMobile wallet. This ensures that UI elements, particularly bottom action buttons, are correctly positioned above system software navigation bars and below the status bar, preventing any awkward overlap on modern Android devices.

Changes Made

[core]

  • [MODIFY] MainActivity.kt: Disabled isNavigationBarContrastEnforced to allow the app's custom theme and backgrounds to flow seamlessly into the system navigation area.

[ui-components]

  • [MODIFY] GajuComponents.kt:
    • Updated GajuBottomNavigation to use windowInsetsPadding(WindowInsets.navigationBars), ensuring the navigation icons stay above the system buttons.
    • Refactored SuccessLayout to use a proper Scaffold with a fixed bottomBar for action buttons, utilizing innerPadding for the main scrollable content.

[ui-screens]

  • OnboardingFlow.kt & SplashScreen.kt: Applied safeDrawingPadding() to top-level containers to keep branding and buttons within the safe viewport.
  • WalletSetupScreens.kt, TransactionScreens.kt, & ManagementScreens.kt:
    • Refactored screens with bottom buttons (e.g., Mnemonic Grid, Send Form, Manage Detail) to use Scaffold.
    • Moved action buttons into the bottomBar slot, ensuring they are fixed and correctly spaced above system navigation.
    • Wrapped middle content in verticalScroll and applied innerPadding, allowing long lists (like the 24-word recovery grid) to scroll properly without being cut off.

Layout Improvements

  • Fixed Overlap: Critical buttons like "CONTINUE", "NEXT", and "SEND" are now guaranteed to be tappable and visible above software buttons.
  • Scrolling Robustness: Long forms and lists now utilize the full height of the screen, scrolling behind the transparent system bars while maintaining clear interaction boundaries.

Verification Results

Build & Deploy

  • Successfully executed ./gradlew assembleDebug.
  • Verified in Compose Preview that the bottomBar correctly accounts for system insets in both Dark and Light modes.