mirror of
https://github.com/wwiinnddyy/LanMountainDesktop.git
synced 2026-06-24 02:14:26 +08:00
216 lines
6.0 KiB
Markdown
216 lines
6.0 KiB
Markdown
|
|
# 组件设计规范
|
||
|
|
|
||
|
|
欢迎来到阑山桌面组件设计规范文档。本章节将帮助你设计出**美观、统一、专业**的桌面组件。
|
||
|
|
|
||
|
|
## 📐 设计哲学
|
||
|
|
|
||
|
|
阑山桌面的设计遵循以下核心原则:
|
||
|
|
|
||
|
|
- **🎨 现代简约** - 简洁的视觉语言,去除多余装饰
|
||
|
|
- **🌈 优雅融合** - 与 Windows 11 Fluent Design 无缝融合
|
||
|
|
- **🔄 一致体验** - 统一的视觉元素和交互模式
|
||
|
|
- **♿ 无障碍** - 易读、易用,支持不同用户需求
|
||
|
|
- **🌓 主题友好** - 完美适配亮色和暗色主题
|
||
|
|
|
||
|
|
## 📚 规范内容
|
||
|
|
|
||
|
|
### [1. 设计系统概述](01-设计系统概述.md)
|
||
|
|
- 设计原则
|
||
|
|
- 设计语言
|
||
|
|
- 设计工作流
|
||
|
|
|
||
|
|
### [2. 视觉规范](02-视觉规范.md)
|
||
|
|
- 颜色系统
|
||
|
|
- 字体排版
|
||
|
|
- 图标规范
|
||
|
|
- 阴影与圆角
|
||
|
|
- 透明与模糊
|
||
|
|
|
||
|
|
### [3. 布局规范](03-布局规范.md)
|
||
|
|
- 安全区域 ⭐
|
||
|
|
- 间距系统
|
||
|
|
- 网格系统
|
||
|
|
- 组件尺寸标准
|
||
|
|
- 响应式布局
|
||
|
|
|
||
|
|
### [4. 交互规范](04-交互规范.md)
|
||
|
|
- 交互状态
|
||
|
|
- 动画与过渡
|
||
|
|
- 反馈机制
|
||
|
|
- 拖拽与调整
|
||
|
|
|
||
|
|
### [5. 主题系统](05-主题系统.md)
|
||
|
|
- 亮色主题
|
||
|
|
- 暗色主题
|
||
|
|
- 自定义主题
|
||
|
|
- 主题切换
|
||
|
|
|
||
|
|
## 🎯 快速开始
|
||
|
|
|
||
|
|
### 新手开发者
|
||
|
|
|
||
|
|
如果你是第一次设计桌面组件,建议按以下顺序学习:
|
||
|
|
|
||
|
|
1. ✅ **必读**: [布局规范](03-布局规范.md) - 理解安全区域和间距
|
||
|
|
2. ✅ **必读**: [视觉规范](02-视觉规范.md) - 掌握颜色和字体
|
||
|
|
3. 📖 **推荐**: [设计系统概述](01-设计系统概述.md) - 理解设计原则
|
||
|
|
4. 📖 **推荐**: [主题系统](05-主题系统.md) - 支持主题切换
|
||
|
|
|
||
|
|
### 经验开发者
|
||
|
|
|
||
|
|
如果你已有 UI 设计经验,可以:
|
||
|
|
|
||
|
|
1. 🔍 快速浏览 [设计系统概述](01-设计系统概述.md)
|
||
|
|
2. 📋 查阅 [布局规范](03-布局规范.md) 了解安全区域
|
||
|
|
3. 🎨 参考 [视觉规范](02-视觉规范.md) 使用设计资源
|
||
|
|
4. 💻 直接开始开发,遇到问题时查阅相关章节
|
||
|
|
|
||
|
|
## 📖 设计规范速查
|
||
|
|
|
||
|
|
### 核心尺寸
|
||
|
|
|
||
|
|
| 项目 | 值 | 说明 |
|
||
|
|
|-----|---|------|
|
||
|
|
| **最小组件宽度** | 120px | 保证可读性 |
|
||
|
|
| **最小组件高度** | 80px | 保证可用性 |
|
||
|
|
| **推荐组件宽度** | 200-400px | 常规信息展示 |
|
||
|
|
| **推荐组件高度** | 150-300px | 常规信息展示 |
|
||
|
|
| **安全边距** | 16px | 内容到边缘的最小距离 |
|
||
|
|
| **圆角半径** | 8px | 卡片和容器圆角 |
|
||
|
|
|
||
|
|
### 核心颜色(亮色主题)
|
||
|
|
|
||
|
|
| 用途 | 颜色值 | 说明 |
|
||
|
|
|-----|--------|------|
|
||
|
|
| **卡片背景** | `#FFFFFF` | 组件主背景 |
|
||
|
|
| **主要文本** | `#1C1C1C` | 标题、重要信息 |
|
||
|
|
| **次要文本** | `#616161` | 描述、辅助信息 |
|
||
|
|
| **强调色** | `#0078D4` | 按钮、链接 |
|
||
|
|
| **边框** | `#E0E0E0` | 卡片边框 |
|
||
|
|
|
||
|
|
### 核心字体
|
||
|
|
|
||
|
|
| 用途 | 字号 | 字重 |
|
||
|
|
|-----|------|------|
|
||
|
|
| **大标题** | 24px | SemiBold (600) |
|
||
|
|
| **标题** | 16-18px | SemiBold (600) |
|
||
|
|
| **正文** | 14px | Regular (400) |
|
||
|
|
| **辅助文字** | 12px | Regular (400) |
|
||
|
|
| **数字** | 32-48px | Bold (700) |
|
||
|
|
|
||
|
|
### 核心间距
|
||
|
|
|
||
|
|
| 场景 | 间距值 | 说明 |
|
||
|
|
|-----|--------|------|
|
||
|
|
| **安全边距** | 16px | 内容到组件边缘 |
|
||
|
|
| **元素间距** | 8px | 相关元素之间 |
|
||
|
|
| **区块间距** | 16px | 不同区块之间 |
|
||
|
|
| **紧密间距** | 4px | 标签、图标间距 |
|
||
|
|
|
||
|
|
## 🎨 设计资源
|
||
|
|
|
||
|
|
### Avalonia AXAML 资源
|
||
|
|
|
||
|
|
系统提供了完整的设计资源字典:
|
||
|
|
|
||
|
|
```xml
|
||
|
|
<ResourceDictionary>
|
||
|
|
<!-- 颜色资源 -->
|
||
|
|
<SolidColorBrush x:Key="CardBackgroundBrush" Color="#FFFFFF"/>
|
||
|
|
<SolidColorBrush x:Key="TextFillColorPrimaryBrush" Color="#1C1C1C"/>
|
||
|
|
|
||
|
|
<!-- 尺寸资源 -->
|
||
|
|
<CornerRadius x:Key="DesignCornerRadiusComponent">8</CornerRadius>
|
||
|
|
<Thickness x:Key="DesignPaddingComponent">16</Thickness>
|
||
|
|
|
||
|
|
<!-- 字体资源 -->
|
||
|
|
<FontFamily x:Key="DesignFontFamilyBase">Microsoft YaHei UI</FontFamily>
|
||
|
|
</ResourceDictionary>
|
||
|
|
```
|
||
|
|
|
||
|
|
### 使用设计资源
|
||
|
|
|
||
|
|
```xml
|
||
|
|
<Border Background="{DynamicResource CardBackgroundBrush}"
|
||
|
|
CornerRadius="{DynamicResource DesignCornerRadiusComponent}"
|
||
|
|
Padding="{DynamicResource DesignPaddingComponent}">
|
||
|
|
<TextBlock Text="Hello"
|
||
|
|
Foreground="{DynamicResource TextFillColorPrimaryBrush}"
|
||
|
|
FontSize="14"/>
|
||
|
|
</Border>
|
||
|
|
```
|
||
|
|
|
||
|
|
## ✅ 设计检查清单
|
||
|
|
|
||
|
|
在发布组件前,请确保:
|
||
|
|
|
||
|
|
### 视觉检查
|
||
|
|
- [ ] 遵循 16px 安全边距
|
||
|
|
- [ ] 使用系统颜色资源
|
||
|
|
- [ ] 使用系统字体和字号
|
||
|
|
- [ ] 圆角统一使用 8px
|
||
|
|
- [ ] 投影统一使用标准阴影
|
||
|
|
|
||
|
|
### 主题检查
|
||
|
|
- [ ] 亮色主题下文字清晰可读
|
||
|
|
- [ ] 暗色主题下文字清晰可读
|
||
|
|
- [ ] 使用 `DynamicResource` 而非硬编码颜色
|
||
|
|
- [ ] 图标和图片适配主题
|
||
|
|
|
||
|
|
### 布局检查
|
||
|
|
- [ ] 最小宽度不小于 120px
|
||
|
|
- [ ] 最小高度不小于 80px
|
||
|
|
- [ ] 内容不会溢出边界
|
||
|
|
- [ ] 长文本正确换行或截断
|
||
|
|
- [ ] 响应式布局适配不同尺寸
|
||
|
|
|
||
|
|
### 交互检查
|
||
|
|
- [ ] 按钮有明确的悬停效果
|
||
|
|
- [ ] 可交互元素有视觉反馈
|
||
|
|
- [ ] 加载状态有明确提示
|
||
|
|
- [ ] 错误状态有清晰说明
|
||
|
|
|
||
|
|
### 性能检查
|
||
|
|
- [ ] 图片使用合适的分辨率
|
||
|
|
- [ ] 动画流畅不卡顿
|
||
|
|
- [ ] 更新频率合理
|
||
|
|
- [ ] 无内存泄漏
|
||
|
|
|
||
|
|
## 🔗 相关资源
|
||
|
|
|
||
|
|
### 内部文档
|
||
|
|
- [插件开发 - 组件系统](../01-插件开发/02-核心概念/02-组件系统.md)
|
||
|
|
- [插件开发 - 设置系统](../01-插件开发/02-核心概念/03-设置系统.md)
|
||
|
|
- [实战案例 - 天气组件](../01-插件开发/04-实战案例/01-天气组件.md)
|
||
|
|
|
||
|
|
### 外部参考
|
||
|
|
- [Fluent Design System](https://www.microsoft.com/design/fluent/)
|
||
|
|
- [Windows 11 Design Principles](https://learn.microsoft.com/en-us/windows/apps/design/)
|
||
|
|
- [Avalonia UI Documentation](https://docs.avaloniaui.net/)
|
||
|
|
|
||
|
|
## 💡 设计建议
|
||
|
|
|
||
|
|
### 保持简洁
|
||
|
|
- 只展示最重要的信息
|
||
|
|
- 避免信息过载
|
||
|
|
- 使用清晰的视觉层级
|
||
|
|
|
||
|
|
### 注重细节
|
||
|
|
- 对齐每一个像素
|
||
|
|
- 统一间距和尺寸
|
||
|
|
- 保持视觉一致性
|
||
|
|
|
||
|
|
### 考虑场景
|
||
|
|
- 组件会在桌面长期显示
|
||
|
|
- 用户可能会添加多个组件
|
||
|
|
- 组件应该低调但有用
|
||
|
|
|
||
|
|
### 用户体验
|
||
|
|
- 信息一目了然
|
||
|
|
- 交互符合直觉
|
||
|
|
- 错误处理友好
|
||
|
|
|
||
|
|
---
|
||
|
|
|
||
|
|
**开始设计你的第一个组件**: [布局规范 - 安全区域](03-布局规范.md)
|