You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Android edge-to-edge: layout issues when switching Navigation mode #11142
When starting the NativeScript app on Android, switch to Android settings, switch navigation mode (e.g. from 3-button navigation to gesture-navigation or vice versa) and resume the NativeScript app, the layout is messed up like this:
Build and run the app
switch to Android settings for navigation mode
switch from 3-button-navigation to gesture-navigation (or vice versa)
switch back to the NativeScript app -> layout is messed up
Relevant log output (if applicable)
Environment
OS: macOS 26.3.1CPU: (12) x64 Intel(R) Core(TM) i7-9750H CPU @ 2.60GHzShell: /bin/zshnode: 22.19.0npm: 11.6.2nativescript: 9.0.5# androidjava: 17.0.11ndk: Not Foundapis: 29, 35, 36, 36build_tools: 25.0.2, 27.0.3, 28.0.3, 29.0.2, 30.0.2, 30.0.3, 32.0.0, 33.0.0, 33.0.1, 33.0.2, 34.0.0, 35.0.0, 35.0.1, 36.0.0, 36.1.0system_images:
- android-28 | Google Play Intel x86_64 Atom
- android-29 | Google Play Intel x86_64 Atom
- android-30 | Google APIs Intel x86_64 Atom
- android-35 | Google Play Intel x86_64 Atom
- android-36.1 | Google Play Intel x86_64 Atom
- android-36.1 | Pre-Release 16 KB Page Size Google Play Intel x86_64 Atom# iosxcode: 26.3/17C529cocoapods: 1.16.2python: 2.7.18python3: 3.13.0ruby: 2.6.10platforms:
- DriverKit 25.2
- iOS 26.2
- macOS 26.2
- tvOS 26.2
- visionOS 26.2
- watchOS 26.2
I see the layout issue when I go to the system settings and change the language settings. This seems to lead to a partial recreation of the activity. From what I found out it seems like the insets, are 0 like I have set them. However the first level of child views under the root layout gets the insets applied as padding top/bottom
Update: Just seen you demo code. Yes same problem.
Have you found a workaround?
Activity
cjohn001 commentedon Jun 15, 2026
Hello, I think I am seeing exactely the same problem. Are you also using androidOverflowEdge="dont-apply" ?
<GridLayout rows="auto,*,auto" (loaded)="mainGridLayoutLoaded($event)" androidOverflowEdge="dont-apply" (androidOverflowInset)="onAndroidOverflowInset($event)">
public onAndroidOverflowInset(args: AndroidOverflowInsetData) {
if (args.inset) {
args.inset.bottom = 0;
args.inset.top = 0;
args.inset.topConsumed = true;
args.inset.bottomConsumed = true;
args.inset.imeBottom = 0;
args.inset.imeBottomConsumed = true;
}
}
I see the layout issue when I go to the system settings and change the language settings. This seems to lead to a partial recreation of the activity. From what I found out it seems like the insets, are 0 like I have set them. However the first level of child views under the root layout gets the insets applied as padding top/bottom
Update: Just seen you demo code. Yes same problem.
Have you found a workaround?