Skip to content

Refactor properties for screen layout boundaries to "full screen" or "safe area" #3596

@SusanRatiLane

Description

@SusanRatiLane

Describe the desired feature

As of Android 15, the display defaults to "edge-to-edge", i.e. laying an app out over all of the screen, including under top status bar, bottom navbar (if present), and cutout areas for things like cameras. The bottom edge of iOS's screen has always run behind cutouts.

Our current appearance properties offer the ability to hide the title bar and status bar -- these are hidden separately in Android but together in iOS, so the "ShowStatusBar" property does nothing iOS. We don't have a property for hiding the bottom navbar on Android, which has been optional for several versions and doesn't exist on iOS.

The paradigm for available screen area has shifted since App Inventor designed these properties. A better modern approach would be to give the app developer the option to define screen layout to

  • "safe" area, i.e. the area that does not intersect with screen cutouts and leaves OS features like status bar alone
  • "full screen" i.e. what Android calls edge-to-edge, i.e. hiding status/title/nav bars and extending the layout under any cutouts.

Additionally, the app developer probably wants the option to extend a background image over the entire screen while keeping the actual component layout to safe areas.

The new properties should replace the old ones with a logical migration for old apps, especially Android ones.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions