fix(android): implement automatic edge-to-edge and universal keyboard handling#8366
fix(android): implement automatic edge-to-edge and universal keyboard handling#8366fabiomartino wants to merge 7 commits intoionic-team:mainfrom
Conversation
|
@fabiomartino Thank you so much Fabio. This is such a crucial fix I'm waiting for. 🙏 |
|
This does not appear to solve #8329. Reproduction: https://github.com/aeharding/cap-kb-blank-space/tree/fabio |
Hi @aeharding give it a try... // REMOVED |
|
Unfortunately it is the same problem for me. Have you tried with my reproduction? |
|
Hi @aeharding, thank you for the feedback and for providing the reproduction repo. While we couldn't replicate the exact "blank space" behavior in our specific local environment, we performed a deep dive into the logic changes between Capacitor 8.0.1 and 8.0.2. We identified that the 8.0.2 We have refined the SystemBars.java implementation with the following improvements:
Could you please try testing with this updated version of SystemBars.java? |
Summary
This PR implements a fix for the SystemBars plugin on Android that resolves the issue where too much bottom safe area is displayed when the keyboard is visible.
Issues Addressed
Key Changes
getInsetsIgnoringVisibilityfor status bar and cutout to prevent page jumping during keyboard transitions--safe-area-inset-bottomis set to 0 when keyboard is visibleBehavior
WebView >= 140
--safe-area-inset-*are injected with correct values--safe-area-inset-bottom= 0 when keyboard is visibleWebView < 140 (Legacy/Broken)
--safe-area-inset-bottomforced to 0 to avoid double-offset with fixed footersKeyboard State
Configuration
Default configuration works automatically:
Technical Details
Testing
Tested on:
Breaking Changes
None. This is a bug fix that maintains existing behavior while fixing the keyboard bottom area issue.
Migration
No migration required. Existing configurations continue to work.