一键导入
theme-system
iOS Design System theme architecture - colors, typography, and usage patterns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
iOS Design System theme architecture - colors, typography, and usage patterns
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Specialized widgets and themes for Music, Stocks, Weather, App Store, and Books apps
Button widgets in iOS Design System - CupertinoButtonWidget and ButtonWidget with all variants
Guide to creating new widgets following iOS Design System patterns and conventions
Icons, tags, titles, descriptions, dividers, and markdown rendering for iOS Design System
Using flutter_hooks for cleaner state management in iOS Design System widgets
Text fields, switches, pickers, date pickers, and form validation for iOS Design System
| name | theme-system |
| description | iOS Design System theme architecture - colors, typography, and usage patterns |
This iOS Design System uses a centralized theme system with 8 color palettes, 22 typography styles, and automatic light/dark mode support.
Always access theme via context:
final theme = IosTheme.of(context);
theme.defaultColors)Standard iOS colors that adapt to brightness:
systemBlue, systemRed, systemGreen, systemYellow, systemOrangesystemPink, systemPurple, systemTeal, systemIndigosystemGray01 through systemGray06systemBlack, systemWhitetheme.defaultLabelColors)Semantic text colors:
primary - Main text (100% opacity)secondary - Secondary text (60% opacity)tertiary - Disabled text (30% opacity)quartenary - Placeholder (18% opacity)theme.defaultFillColors)Background fills for UI elements:
primary, secondary, tertiary, quartenarytheme.defaultSystemBackgroundsColors)Screen-level backgrounds:
primaryLight, primaryDarkBase, primaryDarkElevatedsecondaryLight, secondaryDarkBase, secondaryDarkElevatedtertiaryLight, tertiaryDarkBase, tertiaryDarkElevatedtheme.defaultSystemGroupedBackgroundsColors)For Settings-style grouped lists (same structure as System Backgrounds)
theme.defaultSeparatorColors)opaque - Prominent bordersnonOpaque - List dividers (default)Colors for blur effects:
systemMaterialsBackgroundsColorssystemMaterialsLabelsTextColorssystemMaterialsFillColorsPre-built themes:
weatherDecorations - Weather app gradientsstocksDecorations - Stocks dark themeneutralMusicDecorations - Apple Music themeneutralPodcastDecorations - Podcast themeappStoreDecorations - App Store themebooksDecorations - Books theme22 text styles using SF Pro Text font:
largeTitleRegular/Bold - 34pt (Page headers)title1Regular/Bold - 28pttitle2Regular/Bold - 22pttitle3Regular/Bold - 20ptheadlineRegular/Bold - 17pt semiboldbodyRegular/Bold - 17pt (default text)calloutRegular/Bold - 16ptsubheadlineRegular/Bold - 15ptfootnoteRegular/Bold - 13ptcaption1Regular/Bold - 12ptcaption2Regular/Bold - 11pt (smallest)@override
Widget build(BuildContext context) {
final theme = IosTheme.of(context);
return Container(
color: theme.defaultColors.systemBlue,
child: Text(
'Hello',
style: theme.typography.bodyRegular.copyWith(
color: theme.defaultLabelColors.primary,
),
),
);
}
final backgroundColor = switch (theme) {
IosLightThemeData() => theme.defaultSystemBackgroundsColors.primaryLight,
IosDarkThemeData() => theme.defaultSystemBackgroundsColors.primaryDarkBase,
};
void main() {
runApp(
IosAnimatedTheme(
data: IosLightThemeData(), // or IosDarkThemeData()
duration: Duration(milliseconds: 180),
child: CupertinoApp(home: MyApp()),
),
);
}
IosTheme.of(context)Color(0x...) or Colors.*)theme.typography.*)Primary action color:
theme.defaultColors.systemBlue
Main text:
theme.defaultLabelColors.primary
Button background:
theme.defaultFillColors.secondary
Screen background:
theme.defaultSystemBackgroundsColors.primaryLight // light mode
theme.defaultSystemBackgroundsColors.primaryDarkBase // dark mode
Divider:
theme.defaultSeparatorColors.nonOpaque
/lib/src/theme/settings/theme.dart/lib/src/theme/colors/default.dart/lib/src/theme/typography/typography.dart/lib/src/theme/settings/constants.dart