Developer

Tile Containers

The tile container represents a logical grouping of tiles that work together, based on the navigation pattern that is used to switch between tiles.

You can choose from the following navigation patterns:
  • Single view
  • Standard navigation
  • Tab
  • Split or master/detail

In single view, no tile container is necessary, because there is no navigation. For standard navigation, tile container definition is necessary only when you share common information between the tiles that you navigate to, such as action bar styling. However, for easier compatibility with other platforms, SAP recommends that you always embed your tile into a tile container.

With split or tab-based navigation, you must use a tile container, because it describes which tiles to use as tab or master/detail screens.

You can specify multiple tile containers if the app contains different navigation patterns. However, mark only one tile as the root to make that tile container the app window’s root view controller. The framework considers only the first tile as a root tile.

Single-view apps do not need to have a tile container in their configuration. In a single-view app, define the corresponding root tile and mark it as root. The root tile can enclose further tile references and supported events and fired actions, which are brought up modally. For example:
<!— Single View Tile Container -->
  <Tile tileId="Root">
    <P pid="isRoot" value="true" />
          <!—Defines a ‘Settings’ button, which brings up modally the SettingsScreen -->
          <UIElement type=”button”>
<P pid="text" value="$i_18n.Settings" visible="true" />
<P pid="halign" value="left" />
<P pid="width" value="49%" />
<P pid="height" value="25pt" />
<P pid="style" value="BlackButton" />
<!—See Managing Lists for more details on events and actions-->
<Event id="onClick">
<Action id="navigate">
<P pid="target" value="SettingsScreen" />
</Action>
</Event>
            </UIElement>
  </ TileContainer >
Navigation-based tile containers can contain only one tile reference. The referenced first tile can, however, enclose further tile references. For example:
<!—Navigation Based Tile Container -->
  <TileContainer tileContainerId="Root" type="nav">
    <P pid="isRoot" value="true" />
    <P pid="isHeaderVisible" value="false" />
<!—Define the initial Tile – further tiles belonging to the navigation chain are referenced from the initial tile and so on -->
    	<TileRef ref=”Overview” />
  </ TileContainer >
Split-tile containers must include two tile references: the master tile and the detail tile. For example:
<!—Split (Master-Detail) Tile Container -->
<!—!!! It shall have two tiles: the Master and the Detail -->
  <TileContainer tileContainerId="Root" type="split">
    <P pid="isRoot" value="true" />
    <P pid="isHeaderVisible" value="false" />
    	<TileRef ref=”MasterTile” />
    	<TileRef ref=” DetailTile” />
  </ TileContainer >
Tab-based tile controllers can enclose all several tile references, one for each tab. For example:
<!— Tabbed Tile Container -->
  <TileContainer tileContainerId="Root" type="tab">
    <P pid="isRoot" value="true" />
    <P pid="isHeaderVisible" value="false" />
    	<TileRef ref=”FirstTabTile” />
    	<TileRef ref=” SecondTabTile” />
    	<TileRef ref=” ThirdTabTile” />
  </ TileContainer >