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 平台代码
    └── ...
相关推荐
zh_xuan19 分钟前
Android Hilt实现依赖注入
android·hilt
freshman_y1 小时前
Qtcreator怎么新建安卓项目?编写一个五子棋游戏APP?
android·qt
时寒的笔记1 小时前
js逆向7_案例惠nong网
android·开发语言·javascript
肯多洛夫斯基2 小时前
安卓工控屏静默连WiFi全攻略
android
极梦网络无忧3 小时前
Android无障碍服务实现抖音直播间界面监控(场控助手核心原理)
android
call me by ur name4 小时前
ERNIE 5.0 Technical Report论文解读
android·开发语言·人工智能·机器学习·ai·kotlin
kerli4 小时前
Compose 组件:Box 核心参数及其 Bias 算法
android·前端
BLUcoding4 小时前
Android 常用控件及核心属性
android
遥不可及zzz4 小时前
[特殊字符] Android AAB 一键安装工具配置指南
android·macos
私人珍藏库5 小时前
【Android】一键硬核锁手机
android·智能手机·app·工具·软件