Skip to content

Components

COUI provides a rich set of UI components that strictly follow the OPPO ColorOS design language. Each component is carefully designed to ensure visual and interactive consistency with the native ColorOS experience.

Scaffold Components

ComponentDescriptionCommon Usage
ScaffoldBasic layout for applicationsPage structure, content display

WARNING

The Scaffold component provides a suitable container for cross-platform popup windows. Components such as OverlayDialog, OverlayDropdownPreference, OverlaySpinnerPreference, and OverlayListPopup are all implemented based on this and therefore need to be wrapped by this component.

Basic Components

ComponentDescriptionCommon Usage
SurfaceBasic container componentContent display, background container
TopAppBarApplication top navigation barPage title, primary actions
NavigationBarBottom navigation componentMain page switching
NavigationRailSide navigation componentMain page switching (Large screen)
TabRowHorizontal tab barContent category browsing
BreadcrumbBarHorizontal breadcrumb navigation barFile path navigation, location trail
CardContainer with related informationInformation display, content grouping
BasicComponentUniversal base componentCustom component development
ButtonInteractive element for triggering actionsForm submission, action confirmation
LoadingButtonText button with a built-in loading stateAsynchronous action submission
IconButtonIcon button componentAuxiliary actions, toolbars
ChipCheckable capsule filter tagContent filtering, tag selection
TextDisplay text content with various stylesTitles, body text, descriptive text
SmallTitleSmall title componentAuxiliary titles, category labels
TextFieldReceives user text inputForm filling, search boxes
InputViewCard-style input fieldForm filling, dialog input
CodeTextFieldVerification code input with cellsOTP / verification code entry
SwitchBinary state toggle controlSetting switches, feature enabling
CheckboxMultiple selection controlMultiple choices, terms agreement
RadioButtonSingle selection controlExclusive choices, option selection
SliderSliding control for value adjustmentVolume control, range selection
NumberPickerVertical scroll picker for number selectionTime picker, quantity selection
DatePickerDate wheel picker (year / month / day)Date selection, forms
TimePickerTime wheel picker (hour / minute)Time selection, alarms
StepperIncrement / decrement integer controlQuantity adjustment, value tuning
ProgressIndicatorDisplays operation progress statusLoading, progress display
SnackbarTemporary message bar for brief feedbackOperation result, status notification
TopTipsTip banner at the top of a pagePage hints, announcements
TooltipBrief label shown on hover or long pressIcon button labels, element hints
BadgeSmall status overlay on an anchorUnread counts, status dots
IconIcon display componentIcon buttons, status indicators
FloatingActionButtonFloating action buttonPrimary actions, quick functions
FloatingToolbarFloating toolbarQuick actions, information display
DividerContent separatorBlock separation, hierarchy division
PullToRefreshPull-down refresh operationData update, page refresh
SearchBarSearch input fieldContent search, quick find
FullPageStatementFull-page user agreement statementFirst-launch agreement, privacy statement
ColorPaletteGrid palette with alpha sliderTheme settings, color selection
ColorPickerColor selection controlTheme settings, color selection
ColorSwatchPickerCircular color swatch row with selection ringTheme settings, color selection

Extended Components

ComponentDescriptionCommon Usage
ArrowPreferenceArrow component based on BasicComponentClickable indication, navigation hints
SwitchPreferenceSwitch component based on BasicComponentSetting switches, feature enabling
SwitchLoadingPreferenceSwitch preference with a loading stateAsynchronous setting switches
CheckboxPreferenceCheckbox component based on BasicComponentMultiple selection, terms agreement
RadioButtonPreferenceRadio button component based on BasicComponentExclusive choices, option selection
MarkPreferenceSingle-select row with a selection markSingle-select lists, option selection
ButtonPreferencePreference row with a small inline buttonInline actions in settings lists
ListPreferencePreference row opening a bottom-sheet choice panel (requires Scaffold)Single / multiple choice settings
RecommendedPreferenceRounded card recommending related settingsRelated settings recommendations
SliderPreferenceSlider component based on BasicComponentValue adjustment, volume/brightness
RangeSliderPreferenceRange slider component based on BasicComponentRange selection, price filter
OverlayListPopupList popup component based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Option selection, feature list
OverlayCascadingListPopupTwo-level cascading list popup (uses COUIPopupUtils; requires Scaffold)Submenus, grouped action panels
OverlayDropdownPreferenceDropdown selector based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Option selection, feature list
OverlaySpinnerPreferenceAdvanced selector based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Advanced options, feature list
OverlayDropdownMenuAction menu based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Action menus, multi-select choices
OverlayIconDropdownMenuIcon-button action menu (uses COUIPopupUtils; requires Scaffold)Toolbar actions, overflow menu
OverlayIconCascadingDropdownMenuIcon-button cascading two-level menu (uses COUIPopupUtils; requires Scaffold)Toolbar actions with submenus
OverlayBottomSheetBottom sheet based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Bottom drawer, additional options
OverlayDialogDialog window based on BasicComponent (uses COUIPopupUtils; requires Scaffold)Prompts, action confirmation
LoadingDialogLoading dialog with spinner (Overlay and Window variants)Blocking loading feedback
SecurityDialogSecurity statement dialog (Overlay and Window variants)Privacy statement, security confirmation
DialogButtonBarDialog button bar that auto-stacks vertically when labels do not fitDialog actions
WindowListPopupWindow-level list popup componentOption selection, feature list
WindowCascadingListPopupWindow-level two-level cascading list popupSubmenus, grouped action panels
WindowDropdownPreferenceWindow-level dropdown selector componentOption selection, feature list
WindowSpinnerPreferenceWindow-level advanced selector componentAdvanced options, feature list
WindowDropdownMenuWindow-level action menu componentAction menus, multi-select choices
WindowIconDropdownMenuWindow-level icon-button action menu componentToolbar actions, overflow menu
WindowIconCascadingDropdownMenuWindow-level icon-button cascading two-level menuToolbar actions with submenus
WindowBottomSheetWindow-level bottom sheet componentBottom drawer, additional options
WindowDialogWindow-level dialog componentPrompts, action confirmation

Changelog

Released under the Apache-2.0 License