溫馨提示:本篇博客的詳細代碼已發布到 git : https://gitcode.com/nutpi/HarmonyosNext 可以下載運行哦!
目錄
- 第一篇:Avatar 組件基礎概念與設計
- 1. 組件概述
- 2. 接口設計
- 2.1 形狀類型定義
- 2.2 尺寸類型定義
- 2.3 組件屬性接口
- 3. 設計原則
- 4. 使用建議
第一篇:Avatar 組件基礎概念與設計
1. 組件概述
Avatar 組件是一個用于展示用戶頭像的基礎 UI 組件,支持圖片、文字和圖標三種顯示模式,并提供了豐富的自定義選項。本教程將詳細介紹 Avatar 組件的設計思路和實現方法。
2. 接口設計
2.1 形狀類型定義
// 頭像形狀類型
enum AvatarShape {CIRCLE = 'circle', // 圓形頭像SQUARE = 'square' // 方形頭像
}
形狀類型提供了兩種選擇:
CIRCLE
:圓形頭像,適用于大多數場景SQUARE
:方形頭像,適合特定的設計風格
2.2 尺寸類型定義
// 頭像大小類型
enum AvatarSize {MINI = 'mini', // 24pxSMALL = 'small', // 32pxMEDIUM = 'medium', // 40pxLARGE = 'large' // 48px
}
預設了四種標準尺寸:
MINI
:迷你尺寸,適用于密集列表SMALL
:小型尺寸,適用于常規列表MEDIUM
:中等尺寸,默認尺寸LARGE
:大型尺寸,適用于詳情展示
2.3 組件屬性接口
interface AvatarProps {src?: string | Resource, // 圖片路徑text?: string, // 文本內容icon?: string | Resource, // 圖標資源shape?: AvatarShape, // 頭像形狀size?: AvatarSize | number, // 頭像大小randomBgColor?: boolean, // 是否啟用隨機背景色bgColor?: ResourceColor, // 自定義背景色onError?: () => void // 加載失敗回調
}
屬性說明:
src
:用于設置頭像圖片的資源路徑text
:用于設置文字頭像的顯示文本icon
:用于設置圖標頭像的資源shape
:設置頭像的形狀,默認為圓形size
:設置頭像的大小,支持預設值和自定義數值randomBgColor
:是否啟用隨機背景色bgColor
:自定義背景色,優先級高于隨機背景色onError
:圖片加載失敗的回調函數
3. 設計原則
-
優先級原則
- 圖片模式 > 圖標模式 > 文字模式
- 自定義背景色 > 隨機背景色
- 自定義尺寸 > 預設尺寸
-
降級處理
- 圖片加載失敗時自動降級為默認圖標
- 尺寸設置無效時使用默認中等尺寸
-
樣式一致性
- 保持邊框圓角與組件尺寸的協調
- 確保文字大小與頭像尺寸的比例關系
- 維護圖標尺寸的展示比例
4. 使用建議
-
場景選擇
- 用戶頭像展示
- 群組標識
- 應用圖標展示
- 占位圖標
-
尺寸選擇
- 列表場景建議使用 MINI 或 SMALL 尺寸
- 詳情頁面可使用 MEDIUM 或 LARGE 尺寸
- 特殊場景可使用自定義尺寸
-
性能考慮
- 合理使用圖片資源的大小
- 避免頻繁切換頭像內容
- 適當使用錯誤處理回調
下一篇教程將詳細介紹 Avatar 組件的核心實現原理和狀態管理機制,敬請期待!