CmComposeUI——基于 Kotlin Multiplatform Compose 的 UI 组件库

CmComposeUI 是一个基于 Kotlin Multiplatform Compose 的 UI 组件库,提供丰富的通用组件,支持 Android 和 iOS 双平台。

引入使用

在项目根目录 settings.gradle.kts 添加 JitPack 仓库:

kotlin 复制代码
dependencyResolutionManagement {
    repositories {
        maven { url = uri("https://jitpack.io") }
    }
}

在共享代码模块 composeApp/src/commonMain/kotlinbuild.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 平台代码
    └── ...
相关推荐
liang_jy2 小时前
Android SparseArray
android·源码
liang_jy2 小时前
Activity 启动流程扩展篇(一)—— startActivityInner 任务决策全解析
android·源码
NPE~3 小时前
[App逆向]脱壳实战
android·教程·逆向·android逆向·逆向分析
木易 士心4 小时前
别再只会用 drawCircle 了!一文搞懂 Android Canvas 底层机制
android
AtOR CUES5 小时前
MySQL——表操作及查询
android·mysql·adb
怣疯knight6 小时前
安卓App无法增加自定义图片作为图标功能
android
jinanwuhuaguo8 小时前
OpenClaw联邦之心——从孤岛记忆到硅基集体潜意识的拓扑学革命(第二十三篇)
android·人工智能·kotlin·拓扑学·openclaw
Gary Studio9 小时前
安卓HAL C++基础-命名域
android
诸神黄昏EX10 小时前
Android Google XTS
android
eSsO KERF10 小时前
MySQL Workbench菜单汉化为中文
android·数据库·mysql