跳到內容

Theme colors documentation

本頁內容尚未翻譯。

Here is a quick mapping of some colors in custom theme JSON files.

Many colors follow the Material Design 3 color roles. Some colors have specific uses in Symfonium to allow more theme variations:

  • surface: Default background.
  • surfaceContainer: Navigation bars and the compact player’s default color.
  • surfaceContainerHigh: Dialog backgrounds, bottom-sheet headers, cards, and overlay backgrounds when used with alpha.
  • surfaceContainerHighest: Snackbars.
  • surfaceContainerLow: Shortcuts, some buttons, missing-image backgrounds, and filtered libraries.
  • surfaceContainerLowest: Bottom-sheet background.
  • outlineVariant: Default Material Design 3 roles and, when used with alpha, the currently active row.
  • onSurfaceVariant: Default Material Design 3 roles and, when used with alpha, subtitle text.

The Symfonium interface consists of several components, such as a search bar. Each component contains individual elements, such as the search bar background and text. Every element has an assigned color role. In the custom theme JSON file, you define the exact color value for each role. Those values determine the colors of the elements and the overall appearance of each component.

The Symfonium interface consists of components, which contain one or more elements. Each element is assigned a color role with a specific color value.

The following screenshots label components in red and elements in green. Elements belonging to a component are not always shown in the screenshots, but they are listed in the components table.

Some screens are configurable and may look different depending on your settings, especially the home screen. Labels in the tables remain in English so they match the annotated screenshots.

The home screen consists of sections with an optional heading and a media list. You can configure the list layouts and shortcut buttons, but the same elements are used in every layout.

The main navigation is normally always visible, except in settings or when disabled. It appears in a container above the main app content.

Annotated Symfonium home screen and main navigation theme components

Home screen media and shortcut button display styles

Section titled “Home screen media and shortcut button display styles”

The same elements are used across the different home-screen section layouts, as shown side by side below.

Annotated Symfonium home media and shortcut display styles

In addition to the cover image, the album view contains buttons and the track list. Like the main navigation, the mini player appears above the main app content.

Annotated Symfonium album view and mini player theme components

Artists, albums, genres, and other media can be displayed in configurable lists. The same elements are used in different layouts. When you select list items, an action menu appears above the list content.

Annotated Symfonium list view and selection theme components

Bottom sheets contain contextual information or menus. They temporarily slide over the app, including the main navigation.

Annotated Symfonium bottom sheet theme components

The search screen contains the search area at the top and the results list below it.

Annotated Symfonium search screen theme components

Settings pages mostly consist of structured text lists with switches or selectable items. Some items can also be reordered.

Annotated Symfonium settings screen theme components

Lists of components, elements, and color roles

Section titled “Lists of components, elements, and color roles”

The following tables show the relationships between components, elements, and color roles.

Individual elements are grouped into components. Select an element to jump to the elements table and see its assigned color role.

ComponentConsists of elements
Defaults
Chip
Shortcut Button
Placeholder Image
Album Button
Top Button Bar
Main Navigation
Drag-and-drop Bar
High Importance Button
Low Importance Button
Album Tracklist
Album Details
List
Selectable Indicator
Select Action Menu
Notification Modal
Bottom Sheet
Search Bar
Text Input
Dropdown Selector
Switch

The color role determines the eventual color of an element. Select a color role to jump to the color roles table and see every element with that role.

ElementHas color role
Active BackgroundoutlineVariant
Bottom Sheet BackgroundsurfaceContainerLowest
Bottom Sheet Header BackgroundsurfaceContainerHigh
Category Headingprimary
Chip (Selected) BackgroundsecondaryContainer
Chip (Selected) TextonSecondaryContainer
Chip Borderoutline
Chip Iconprimary
Chip TextonSurfaceVariant
Default Backgroundsurface
Default Separatorsecondary
Default TextonSurface
Drag-and-drop BackgroundsurfaceContainer
Drag-and-drop Button BackgroundtertiaryContainer
Drag-and-drop IcononTertiaryContainer
Dropdown BackgroundsurfaceContainerHighest
Dropdown BorderonSurfaceVariant
Dropdown Border (selected)primary
Dropdown Box BackgroundsurfaceContainer
Dropdown TextonSurface
Dropdown TitleonSurfaceVariant
HI Button Backgroundprimary
HI Button TextonPrimary
High ContainersurfaceContainerHigh
Highest ContainersurfaceContainerHighest
Home Iconprimary
LI Button Borderoutline
LI Button Textprimary
Low ContainersurfaceContainerLow
Lowest ContainersurfaceContainerLowest
Navigation BackgroundsurfaceContainer
Navigation IcononSurfaceVariant
Navigation Icon (Selected)onSecondaryContainer
Navigation Icon (Selected) BackgroundsecondaryContainer
Navigation LabelonSurfaceVariant
Navigation Label (Selected)onSurface
Notification BackgroundsurfaceContainerHighest
Placeholder BackgroundsurfaceContainerLow
Placeholder IcononSurface
Play Overlay BackgroundsurfaceContainerHigh
Play Overlay Iconsecondary
Search Bar BackgroundsecondaryContainer
Search Bar TextonSecondaryContainer
Select Action Backgroundprimary
Select Action IcononPrimary
Selectable (Selected) Backgroundprimary
Selectable (Selected) IcononPrimary
Selectable Borderprimary
Shortcut BackgroundsurfaceContainerLow
Shortcut Iconprimary
Shortcut TextonSurface
SubtitleonSurfaceVariant
Switch (Off) BackgroundsurfaceContainerHighest
Switch (Off) Borderoutline
Switch (On) Backgroundprimary
Switch (On) IcononPrimary
Text Input BackgroundNot documented
Text Input BorderNot documented
Text Input Border (selected)Not documented
Text Input TextNot documented
Text Input TitleNot documented
Three dotsonSurface
Top Bar Active Iconprimary
Top Bar BackgroundsurfaceContainerHigh
Top Bar IcononSurface

This list shows every color role and the elements assigned to it. The theme JSON file defines the color value for each role.

Color roleIs assigned to elements
primary
onPrimary
secondary
onSecondary
tertiary
onTertiary
primaryContainer
onPrimaryContainer
secondaryContainer
onSecondaryContainer
tertiaryContainer
onTertiaryContainer
error
onError
errorContainer
onErrorContainer
surface
onSurface
onSurfaceVariant
outline
outlineVariant
surfaceContainerLowest
surfaceContainerLow
surfaceContainer
surfaceContainerHigh
surfaceContainerHighest