
CmComposeUI 是一个基于 Kotlin Multiplatform Compose 的 UI 组件库,提供丰富的通用组件,支持 Android 和 iOS 双平台。
引入使用
在项目根目录 settings.gradle.kts 添加 JitPack 仓库:
kotlin
dependencyResolutionManagement {
repositories {
maven { url = uri("https://jitpack.io") }
}
}
在共享代码模块 composeApp/src/commonMain/kotlin 的 build.gradle.kts 中添加依赖:
重要说明 :这是一个多模块项目,JitPack 需要指定
composeApp子模块。
kotlin
kotlin {
sourceSets {
commonMain {
dependencies {
implementation("com.github.Peakmain.CmComposeUI:composeApp:latest-version")
}
}
}
}
或者简写方式:
kotlin
dependencies {
commonMainImplementation("com.github.Peakmain.CmComposeUI:composeApp:latest-version")
}
项目结构
Bash
composeApp/
├── src/
│ ├── commonMain/
│ │ └── kotlin/com/peakmain/cmp_compose/
│ │ ├── basic/ # 基础常量
│ │ │ ├── BasicColor.kt # 颜色常量
│ │ │ ├── BasicFont.kt # 字体大小常量
│ │ │ └── BasicSize.kt # 尺寸常量
│ │ ├── space/ # 间距
│ │ │ └── PkSpacer.kt # 间距组件
│ │ ├── theme/ # 主题
│ │ ├── ui/ # UI 组件
│ │ │ ├── banner/ # 轮播
│ │ │ │ └── PkBanner.kt # 轮播组件
│ │ │ ├── button/ # 按钮
│ │ │ │ ├── PkButton.kt # 按钮组件
│ │ │ │ └── PkButtonDefault.kt # 默认配置
│ │ │ ├── cell/ # 单元格
│ │ │ │ └── PkCell.kt # 单元格组件
│ │ │ ├── divier/ # 分割线
│ │ │ │ ├── PkDivider.kt # 分割线组件
│ │ │ │ ├── PkDashDivider.kt
│ │ │ │ └── PkFullDivider.kt
│ │ │ ├── flow/ # 流式布局
│ │ │ │ └── PkFlowRow.kt
│ │ │ ├── grid/ # 瀑布流
│ │ │ │ └── PkStaggeredVerticalGrid.kt
│ │ │ ├── image/ # 图片
│ │ │ │ └── PkImageView.kt
│ │ │ ├── progress/ # 进度条
│ │ │ │ └── RoundedLinearProgressIndicator.kt
│ │ │ ├── text/ # 文本
│ │ │ │ └── PkHighlightText.kt
│ │ │ └── title/ # 标题/导航栏
│ │ │ ├── PkNavBar.kt # 顶部导航栏
│ │ │ └── PkTitle.kt # 标题文本
│ │ └── utils/ # 工具类
│ ├── androidMain/ # Android 平台代码
│ └── iosMain/ # iOS 平台代码
└── ...