How mrcashmere/harmonyos_arkui_demo_api26 works
CashmereAppThemeDemo is a HarmonyOS ArkUI teaching app demonstrating live theme colors, system-following dark mode, and API 26 immersive materials with a lower-version fallback. Users open the home page, explore the theme lab and immersive showcase, or change appearance in settings; settings persist across restarts. The graph also captures the embedded copyable-source teaching feature. Relationships for the deeper page implementations are based on README descriptions and the documented five-layer structure; page/component call wiring was not sampled directly.
Main entry points: ImmersiveShowcasePage.ets Immersive showcase · SourceBlock.ets Source block · Index.ets Home page · ThemeSettingsPage.ets Appearance settings
Components 16
App and preferences
- Home page
entry/src/main/ets/pages/Index.ets - App startup
entry/src/main/ets/entryability/EntryAbility.ets - Appearance store
entry/src/main/ets/storage/AppearanceStore.ets
Theme system
- Appearance settings
entry/src/main/ets/pages/ThemeSettingsPage.ets - Theme lab
entry/src/main/ets/pages/ThemeLabPage.ets - Design tokens
entry/src/main/ets/utils/DesignTokens.ets - Demo scaffold
entry/src/main/ets/components/DemoScaffold.ets
Material demos
- Immersive showcase
entry/src/main/ets/pages/ImmersiveShowcasePage.ets - Material card layer
entry/src/main/ets/components/MaterialCard.ets - Card surface
entry/src/main/ets/components/CardSurface.ets - Circle button
entry/src/main/ets/components/IconCircleButton.ets - System material
entry/src/main/ets/utils/SystemMaterial.ets
Teaching snippets
- Source block
entry/src/main/ets/components/SourceBlock.ets - Source snippets
entry/src/main/ets/teaching/SourceSnippets.ets
Other components
- App user
- System clipboard
Connections 20
- App user → Home page: opens
- Home page → Theme lab: opens
- Home page → Immersive showcase: opens
- Home page → Appearance settings: opens
- App startup → Appearance store: loads and broadcasts
- Appearance settings → Appearance store: saves preferences
- Theme lab → Demo scaffold: uses
- Theme lab → Design tokens: resolves colors
- Appearance settings → Design tokens: updates theme
- Immersive showcase → Material card layer: uses
- Immersive showcase → Card surface: uses
- Immersive showcase → Circle button: uses
- Material card layer → System material: adapts material
- Card surface → System material: adapts material
- Circle button → System material: adapts material
- Theme lab → Source block: shows snippets
- Immersive showcase → Source block: shows snippets
- Appearance settings → Source block: shows snippets
- Source block → Source snippets: renders
- Source block → System clipboard: copies to