前言
- BasicLibrary是一個基于API 12封裝的基本庫
- 未來的計劃是將其打造成一個通用的UI組件+基本工具組件,目前正在完善UI組件,大家如果組件有什么需求,可以盡管提哦
- BasicLibrary項目地址
- BasicLibrary的openHarmony三方庫中心倉
文章系列
- HarmonyOS基本工具封裝——BasicLibrary的基本使用(一)
- HarmonyOS基本UI封裝——標題欄組件NavBar封裝與使用(二)
- HarmonyOS基本UI封裝——Cell單元格組件封裝與使用(三)
- HarmonyOS基本UI封裝——Dialog 彈出框、loading加載和List下拉刷新加載更多(四)
- HarmonyOS基本UI封裝——ImageLoader 圖片上傳(五)
簡介
鴻蒙基本庫封裝,提升鴻蒙開發(fā)效率
安裝
ohpm install @peakmain/library
一、NavBar擴展
背景
- 因有大哥希望導(dǎo)航欄支持兩個按鈕,于是我這邊對NavBar進行了擴展
[圖片上傳失敗...(image-50f619-1729820549472)]
導(dǎo)入依賴
import NavBar from "@peakmain/library/src/main/ets/components/title/NavBar"
參數(shù)
- 新增leftClick和showLeftClose兩個參數(shù)
| 參數(shù)名 | 參數(shù)類型 | 描述 |
|---|---|---|
| title | string | 設(shè)置導(dǎo)航欄標題 |
| titleBold | boolean | 標題是否加粗,true表示加粗,false表示不加粗。默認是true |
| titleColor | ResourceColor | 設(shè)置標題字體顏色,默認字體顏色是 #272a2b |
| backgroundColorResource | ResourceColor | 設(shè)置背景顏色,默認背景顏色是 Color.White |
| leftImage | PixelMap | ResourceStr | DrawableDescriptor | null | 設(shè)置左邊返回箭頭資源,為空時不顯示 |
| right | string | 右邊文本內(nèi)容 |
| rightImage | PixelMap | ResourceStr | DrawableDescriptor | null | 設(shè)置右邊圖片資源,為空時不顯示 |
| rightClick | () => void | 設(shè)置右邊圖片或者文本的點擊事件 |
| leftClick | void = () | 左邊返回點擊事件,默認處理是返回上一個頁面 |
| showLeftClose | boolean | 是否顯示關(guān)閉按鈕,默認為false |
二、頂部Toast
[圖片上傳失敗...(image-8cac9-1729820549473)]
導(dǎo)入依賴
import { ToastComponent } from "@peakmain/library"
參數(shù)
| 參數(shù)名 | 參數(shù)類型 | 名稱 |
|---|---|---|
| content | string | Toast提示的文案 |
| type | ToastType | Toast提示的類型,不同類型提示的背景顏色不同 默認時間ToastType.Normal |
| duration | number | 動畫加載時長 |
ToastType枚舉類型
| 枚舉類型 | 背景顏色 | 說明 |
|---|---|---|
| NORMAL | #272a2b | 默認情況 |
| SUCCESS | #579572 | 成功 |
| ERROR | #9F4B48 | 錯誤 |
示例代碼
CustomDialogController僅在作為@CustomDialog和@Component struct的成員變量,且在@Component struct內(nèi)部定義時賦值才有效
- 聲明需要顯示內(nèi)容的CustomDialogController
dialogController: CustomDialogController = new CustomDialogController({
builder: ToastComponent({
content: this.toastStatus == 0 ? "默認情況" : (this.toastStatus == 1 ? "正確情況" : "錯誤情況"),
type: this.toastStatus == 0 ? ToastType.NORMAL : (this.toastStatus == 1 ? ToastType.SUCCESS : ToastType.ERROR),
}),
customStyle: true,
alignment: DialogAlignment.Top,
autoCancel: false
})
- 需要顯示的地方直接調(diào)用open即可
this.dialogController.open()
三、Skeleton骨架屏

Skeleton骨架屏.gif
導(dǎo)入依賴
import { PkSkeleton } from '@peakmain/library';
參數(shù)
| 參數(shù)名 | 參數(shù)類型 | 名稱 |
|---|---|---|
| showAvatar | boolean | 是否顯示頭像,默認不顯示 |
| count | number | 骨架屏顯示數(shù)量,默認是3 |
示例代碼
PkSkeleton({
count: 3,
showAvatar: this.showAvatar
})