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 平台代码
    └── ...
相关推荐
RisunJan几秒前
Android 高频面试题与解答
android
MyBili6 分钟前
【安卓开发/搞机】快图浏览(QuickPic)技术解析:为何这款3MB应用仍是本地图库的性能天花板?
android·app·安卓·文件管理·相册·看图软件·手机相册
事圆则缓35 分钟前
Kotlin 高阶工程化与 Android 深入实践
android·开发语言·kotlin
zhangphil38 分钟前
AI大模型生成maxTokens 与上下文context
android·llama
淡淡的香烟42 分钟前
Androidiot开发之猫脸识别
android·物联网
2501_915106321 小时前
iOS数据采集技术详解:从性能监控到崩溃分析的全链路实践
android·ios·小程序·https·uni-app·iphone·webview
天空之城--10 小时前
Android Koin 完全指南:从原理到实践
android
zhangphil11 小时前
Android main thread主线程Choreographer doFrame发生FullSuspendCheck
android
TimeFine15 小时前
智能眼镜开发:获取真实的音频路由
android
pengyu15 小时前
【Kotlin 协程修仙录 · 渡劫境 · 中阶】 | 造化神兵:自定义 CoroutineDispatcher 与调度器的终极定制
android·kotlin