What is a screen group?
A screen group in ArcGIS Experience Builder is a layout container that can contain multiple screens. It is used to organize content and widgets on scrolling pages. Each screen within a screen group has a main stage, and some screen groups may also include scrolling panels.
When a user scrolls to a screen group, it occupies the entire height of the screen. If the screen group has scrolling panels, the main stage remains in place while the user scrolls through the content in the panels. The main stage only changes when the last panel scrolls away. If there are no panels, the main stage remains in place until it has scrolled one full screen height.
How to work with a screen group
To add and configure a screen group in your application, follow these steps:
- Navigate to the canvas where you want to add the screen group.
- Click the Insert screen group button on the canvas.
- Select a screen group template from the gallery.
- Configure its properties such as the number of screens and layout options.
- Click the Add screen button within the screen group to add new screens as needed.
Screen group templates
Here are some of the templates available in a screen group.
Template | Description |
---|---|
Cascade | Multiscreen, floating panels, main stages fade, panels push through. |
Index | Docked panels, similar transitions to Cascade. |
Flyer | Single-screen, designed for maps with bookmarks; map navigates as panel scrolls. |
Stream | Multiscreen, floating panels, parallax effect, screen fades to next. |
AppConfig for screen groups
In the app
object, screen groups are defined under the screen
property which represents an object with a unique screen
. The screen
property contains an array of screen group objects, each representing a screen group added to your application. Each screen group object includes configuration details for screens
, such as their screen
, name
, and layout
.
Here is an example of how a screen group might be defined in the app
:
{
"screenGroups": {
"screenGroup1": {
"screenGroupId": "screenGroup1",
"screens": [
{
"screenId": "screen1",
"name": "Screen 1",
"layout": {
"mainStage": {
"type": "mainStage",
"height": 600
},
"panels": [
{
"type": "scrollingPanel",
"height": 300
}
]
}
},
{
"screenId": "screen2",
"name": "Screen 2",
"layout": {
"mainStage": {
"type": "mainStage",
"height": 600
}
}
}
]
}
}
}