Theming

Theming refers to using a color palette and a logo to define a system-wide appearance for an application. It’s achieved by applying colors to major UI elements, such as text and background, with the intention to create visual harmony. It gives users a holistic visual experience throughout the application. This visual experience can be leveraged to enhance readability in certain lighting environments and to express your unique product branding across platforms. By applying brand-specific colors to the themeable elements, you provide users with a visual connection between the application and your brand. 

Example of different themes
Example of different themes

Themeable Elements 

A customized theme is comprised of multiple visual elements. To create a brand theme, use the UI theme Designer powered by SAP and customize the following themeable elements: 

Logo

A logo is the visual symbol used to express a product’s distinct identity. 

Themeable element: logo
Themeable element: logo

Tint Colors

Tint colors are the ones applied to any interactive elements to indicate interactivity or a call to action. It can be used on a button, an icon, a tab, etc. 

 

Semantic Colors

Semantic colors refer to the tint color applied to UI elements to communicate a state, priority, or destructive or confirmational action.   

 

Accent Colors

Accent colors are decorative colors applied to selected areas of the UI in order to bring more colors to the UI. 

Themeable elements: tint color, semantic color, accent color
Themeable elements: tint color, semantic color, accent color

Text Colors 

Text colors apply to any content written in text, including numbers and symbols.

 

Surface

Surface color comprises of the backgrounds of elevated components such as cards, app bars, bottom navigation, etc. 

  

Background

Background refers to the main app background that appears behind scrollable content. 

 Themeable elements: text color, surface and background
Themeable elements: text color, surface and background

Scenarios

The UI theme designer can achieve various levels of customization. Theming can be as minimal as only changing the logo or can be as comprehensive as changing all color parameters. The following examples detail possible theming scenarios from a basic theme all the way to a comprehensive theme.

Basic Scenario

The main branding elements are your logo and primary branding tint. Your app colors can use the existing default text, background, semantic colors, and accent colors from the preliminary baseline theme (Horizon theme for SAP Fiori). This approach is enough to communicate your brand without having to do any major visual overhaul to the baseline theme. The UI theme designer can accommodate simple theme changes like applying your logo and applying your main brand tint.

Themeable Elements 

The following elements are themed in this simple scenario: 

  • Logo  
  • Tint
Screen showing basic theme scenario
Screen showing basic theme scenario

Detailed Scenario

Your main branding elements consist of a logo, tint, text, and backgrounds therefore require a full theme overhaul to achieve the look and feel of your brand. This means that more customization is needed from our preliminary baseline theme (Horizon theme for SAP Fiori). The UI theme designer allows for granular control over the overall theme resulting in a faithful representation of your brand.

Themeable Elements 

The following elements are themed in this detailed scenario: 

  • Logo  
  • Tint 
  • Text 
  • Background 
  • Semantic colors 
  • Accent colors 
Screen showing detailed theme scenario
Screen showing detailed theme scenario

Theming Strategy 

Theming strategy is your product’s approach to a distinct theming plan to express your branding’s visual experience, support various lighting situations, or fit a user’s phone’s system configuration. A product could support a single theme or multiple themes depending on your company’s branding identity and/or the end user’s lighting environments.

Single-Theme Strategy 

Your theming strategy should be based on your company’s branding or user needs. For example, if your company is using a light theme, it communicates a lighter approach to the visual design while also easing the lighting on the eyes within indoor or outdoor settings with bright lighting. The opposite is true for darker themes where the theme communicates a more serious tone while also being easier on the eyes in workplace settings with dimmed office lighting or outdoor nighttime settings.

Single-theme strategy
Single-theme strategy

Two-Theme Strategy 

Your product could use a twotheme strategy to reflect the changing conditions of the end user’s lighting environment or to match an end user’s theme system settings. A twotheme strategy is the industry standard and is helpful if your product wants to provide themes for both bright and dim lighting environments. When applying the twotheme strategy, make sure that all foreground colors have been considered on either theme.

Two-themed strategy
Two-themed strategy

Resources

SAP Fiori for iOS: Theming

SAP Fiori for Web: Theming

Development: Theming and Styling

Development: UI Theme Designer

Top App Bar

The top app bar contains actions and content based on the current screen in an app.
This includes navigation, title, and actions. The elements in the top app bar are specific to the current screen, but the top app bar can also contain consistent elements across an app.

Top app bar on mobile (left) and tablet (right)
Top app bar on mobile (left) and tablet (right)

Usage

Do
  • Use an overflow menu if there are more than three icon buttons on mobile and four icon buttons on tablet. 
  • Ensure consistency of the position of the close/cancel and back icons. Generally, they are on the left side of the navigation bar. 
  • Keep the title text short and concise. 
  • For the collapsing layout, combine the large bar and the small bar with the left-aligned title.
  • Try to use icon buttons due to limited space. 
Don't
  • Don’t use the profile and overflow menu together. 
  • Don’t provide multiple similar actions on the navigation bar. For example, if a back icon and a save button trigger the same action, one action element is enough. 
  • Don’t manipulate the height of the top app bar, use the default sizes. 
  • Try to avoid truncation or shrinking of the title text. 

Anatomy

A. Leading Elements (Optional)

The optional leading element can hold a logo or a navigation icon. The navigation icon can be, for example, a back, close/cancel, or menu icon. The recommended maximum size of the logo is 24dp height and 112dp width. The leading element is aligned on the left side of the top app bar.

B. Title

The title should be concise and fit into the top app bar. Try to avoid truncation or shrinking of text. If the title is long, use the large top app bar. When using the object/profile header, the title/subtitle area in the top app bar needs to be empty to avoid redundant titles. Scrolling down the title of the object/profile header, moves to the top app bar.

C. Subtitle (Optional)

An optional subtitle can be included into the small app bar. Try to keep the subtitle short and concise.

D. Trailing Elements (Optional)

On the right side of the of the bar, you can place up to three trailing elements on mobile and up to four elements on tablet. Trailing icons can be action icons, buttons, and an overflow menu or a profile.
Arrange the action icons in order of importance from left to right. Less important or secondary actions can be included into the overflow.

E. Container

The container includes the leading elements, title, subtitle, and trailing elements of the top app bar.

Anatomy of small (top) and large (bottom) top app bar
Anatomy of small (top) and large (bottom) top app bar

Behavior and Interaction

Scrolling

For the small top app bar, the following scrolling interactions are available: 

  • Pinned (default) 
  • Scroll-off screen 

 

Small Top App Bar

When the small top app bar is pinned, the bar remains at the top of the screen. On scrolling, an elevation is added to the app bar and the content scrolls underneath the bar. 

 

Animation of pinned small top app bar
Animation of pinned small top app bar

Using the scroll-off screen interaction, the top app bar applies a compress effect and scrolls off-screen with the content and returns when the user reverse scrolls. In addition, upon scroll, the app bar increases elevation and lets content scroll behind it.

Animation of scroll-off screen small top app bar
Animation of scroll-off screen small top app bar

Large Top App Bar

The large top app bar uses the collapsing layout. If a collapsing layout is used for the top app bar, the large bar is the initial state, and when scrolling up, the large bar transforms into the small top app bar. This is only available for the small app bar with a left aligned title.

Upon scrolling, the app bar increases elevation and lets the content scroll behind it. At the same time, the collapsing large top app bar transforms into a small top app bar. The app bar follows the behavior of the small top app bar (see pinned and scroll-off screen interaction above).
When the user scrolls back to the top of the screen, the app bar expands back to the large bar.

 

For the title, you can choose the following transitions: 

  • Fade mode

The large title fades out and translates, and the small title fades in. 

  • Scale mode

    The large title continuously scales and translates into the position in the small bar. 

Animation of collapsing layout from the large to small top app bar
Animation of collapsing layout from the large to small top app bar

Contextual Action Bar

Contextual action bars provide actions for selected items or tasks. A top app bar can transform into a contextual action bar, remaining active until an action is taken or dismissed.

Top app bar (left) transforms into contextual action bar (right)
Top app bar (left) transforms into contextual action bar (right)

Nested Actions

Trailing Elements

You can place up to three trailing elements on mobile and up to four elements on tablet on the right side of the app bar. The following trailing elements are available: 

  • Profile 
  • Icon 
  • Button 

 

The profile can be combined with one icon or one button on mobile. On tablet, you can combine the profile with two icons or one button. We recommend placing a profile with a limited number of actions on the main home page in an app. The actions are placed on the left side next to the profile. Note that you can’t combine the overflow with a profile.

Profile as trailing element in top app bar on mobile (top) and tablet (bottom)
Profile as trailing element in top app bar on mobile (top) and tablet (bottom)

You can place up to three icons on mobile and up to four icons on tablet. If there are more icons, the remaining actions must be placed into the overflow. 
Sort the icons regarding their priority from left to right. The most used icon should always be placed on the left. Also consider placing less important or secondary actions in the overflow. 

Icons as trailing elements in top app bar on mobile (top) and tablet (bottom)
Icons as trailing elements in top app bar on mobile (top) and tablet (bottom)

You can place one button in the app bar on mobile and two on tablet. If there are more actions, the remaining are placed into the overflow.

Button as trailing element in top app bar on mobile (top) and tablet (bottom)
Button as trailing element in top app bar on mobile (top) and tablet (bottom)

Overflow

By clicking on the overflow icon, the overflow menu opens. The user can close the menu by clicking outside the menu. 

Animation of opening the overflow menu in the top app bar
Animation of opening the overflow menu in the top app bar

Adaptive Design

The top app bar uses 100% of the screen width and adapts to the width of the view or device. 

The container occupies 100% of the screen width on mobile (left) and tablet (right)
The container occupies 100% of the screen width on mobile (left) and tablet (right)

Variations

Small with Left-Aligned Title

The small top app bar with a left-aligned title is used for subpages that require back navigation or close/cancel and multiple actions. Avoid displaying the profile on a subpage.

 

Small with Centered Title

The small top app bar with centered title is used for the main/landing/home page in an app. It displays the app name, page headline, logo, and profile image.

 

Large with Left-Aligned Title

Collapsing layout is the initial state of the small top app bar before scrolling. It is used to emphasize the headline or to display a headline with a long text.  

Small bar with left-aligned title (left), with centered title (middle) and large bar with left-aligned title (right)
Small bar with left-aligned title (left), with centered title (middle) and large bar with left-aligned title (right)

Resources

Development: FioriTopAppBar, FioriToolbar

SAP Fiori for iOS: Navigation Bar

Material Design: Top App Bar

Related Components/Patterns: Buttons, Menus

Data Table Card

The data table card provides a preview of historic data in a table format. Currently, data table cards display up to four rows and two columns that can be customized to fit a variety of use cases. This card can also be used as an entry point to a connected data table.

Collection of data table cards on mobile (left) and tablet (right)
Collection of data table cards on mobile (left) and tablet (right)

Usage

Do
  • Use the data table card when the user needs to track the current and historical development of data over time.
  • Use the data table card when comparing two columns of data parameters.
  • Use the data table card as an entry point to a fullscreen data table, or another defined location.
Don't
  • Don’t use the data table card when the user needs to compare more than two attributes across the data set.
  • Don’t use the data table card when the user needs to take actions at a card level. Consider using the object card or the list card for inline and footer actions.

Anatomy

A. Title Area

The title area has a title, a subtitle, a timestamp, and a photo thumbnail. A title is required and can wrap up to two lines. The thumbnail, subtitle, and timestamp are optional. 

B. Entries

We recommend including four entries maximum. To accommodate various use cases, you can configure entries to adjust text size, weight, and color. As default, each entry allows two lines at maximum, truncating after two lines. The icon is optional. 

C. More Entries

The more entries section helps indicate there are more items in the data set. If there are no additional entries, “No more entries is displayed. 

Anatomy of the data table card
Anatomy of the data table card

Behavior and Interaction

Touch Target

The data table card only has one action, meaning that the whole card is a touch target.

Touch target of the data table card
Touch target of the data table card

Navigation

When tapped, the data table card navigates to a full screen data table or to another defined location.

Tap on the card area navigate to a data table or a defined location
Tap on the card area navigate to a data table or a defined location

Adaptive Design

The data table cards on mobile follow a vertically stacked single-column layout. The tablet displays a two or three-column grid layout. When utilizing cards with auto-adjusted height, there is also the option to display a masonry layout on the tablet.

The card carousel follows the same number of columns as the grid with adjusted card width, so an additional card is visible and cut off at the end. The slice of a card at the end indicates horizontal scrolling. In a masonry layout, there is no horizontal scrolling.

Collections of data table cards on mobile (left) and tablet (right)
Collections of data table cards on mobile (left) and tablet (right)

Variations

Data table card entries can be customized to adjust the section’s visual treatment, providing flexibility for different use cases. The icon can also be changed from the default “event note icon. When displaying a status, we recommend adding an additional visual element to convey the semantic meaning, such as adding an icon, boldening the text, or changing the text color. 

Data table card variations from left to right: Data table card with the title only (left), data table card with semantic values (center left), data table card with subtitle (center right), and data table card with thumbnail (right)
Data table card variations from left to right: Data table card with the title only (left), data table card with semantic values (center left), data table card with subtitle (center right), and data table card with thumbnail (right)

Resources

Development: DataTableCard

SAP Fiori for iOS: Analytical Data Table Card 

Related Components/Patterns: Cards Overview, Data Table

Navigation Bar

The navigation bar provides fast access to two to five core destinations in an app. 

Navigation bar with three destinations
Navigation bar with three destinations

Usage

Do
  • Use the navigation bar for two to five core destinations. 
  • Use the navigation bar on mobile and small tablet interfaces.
  • Keep the title of destinations short and concise. 
Don't
  • Don’t use the navigation bar if there is only one destination or if there are more than five, use the navigation drawer instead. 
  • Don’t use the navigation bar on tablets, use the navigation rail or the standard navigation drawer instead. 
  • Don’t wrap, truncate or shrink text. 

Anatomy

A. Icon

Meaningful icons visualize the app destinations. Use filled icons for the selected destination and unfilled icons for unselected destinations.  

B. Active Indicator 

The active indicator highlights the selected destination.

C. Label Text

The label text provides a short and concise description of the destination.

D. Large Badge with Value (Optional)

The large badge with value shows a number for status changes.

E. Small Badge (Optional)

The small badge displays a change, for example, a new notification.

F. Container

The container contains all destinations including icons, active indicator, and optional labels. 

Navigation bar anatomy
Navigation bar anatomy

Behavior and Interaction

When the user taps on a destination or if one is focused on the navigation bar, the user is directed to the navigation destination associated with that icon. Navigation between destinations is visually highlighted by the active indicator and the filled icon. 

Selecting another destination in the navigation bar
Selecting another destination in the navigation bar

When scrolling up or down on the screen, the navigation bar remains fixed. 

Scrolling up and down while the navigation bar remains fixed
Scrolling up and down while the navigation bar remains fixed

Adaptive Design

Use navigation bars on mobile and small tablet interfaces. The navigation bar uses 100% of the screen width and the destinations are equally distributed across the navigation bar. 
 
On tablets, replace the navigation bars with a more appropriate component, such as a navigation rail or navigation drawer. 

Variations

There are different variations of destinations to represent the navigation bar:

  • Label and icon 
  • Icon only 
  • Label and icon for selected destinations and icon only for unselected destinations 

Label and Icon

The default navigation bar consists of a label and an icon.

Navigation bar destinations with label and icon
Navigation bar destinations with label and icon

Icon Only

For a simplified navigation bar, you can omit the labels. Icons should always be unique and universally represented for users (e.g., basket, home and favorites).

Navigation bar destinations with icon only
Navigation bar destinations with icon only

Mixed

The mixed variation is used to emphasize the selected destination with label and icon and the unselected destinations are displayed with icon only. Use this variation only when the icons have a clear meaning to users.

Navigation bar selected destination with label and icon and unselected destinations with icon only
Navigation bar selected destination with label and icon and unselected destinations with icon only

Resources

Development: FioriNavigationBar, BottomNavigationView

SAP Fiori for iOS: Tab Bar

Material Design: Navigation bar