一个 Compose Multiplatform 库,允许你构建二维表面,其中项目通过空间关系(如 `below`、`endOf`)而非坐标来定位,支持惰性组合、手势和确定性约束求解器。

Stars

52

7 天增长

暂无数据

Fork 数

0

开放 Issue

0

开源协议

MIT

最近更新

2026-07-17

AI 仓库情报摘要
FR-AI / ANALYSIS

为什么值得关注

它引入了一种新颖的关系型布局范式,适用于所有 Compose 平台,将惰性渲染、自愈图结构和内置手势支持(平移、捏合缩放、轻弹、吸附翻页)整合在单一跨平台库中。

适合谁使用

  • 构建复杂交互式二维 UI 的 Compose Multiplatform 开发者
  • 需要可滚动/可缩放卡片布局的移动端和桌面端应用开发者
  • 处理仪表盘、地图或图表且项目相互关联的工程师
  • 寻求在 Android、iOS、桌面或 Web 上对大量项目进行惰性渲染的开发者

典型使用场景

  • 创建类似翻页器的表面,轻弹后自动吸附到分节锚点
  • 使用 `placeAround` 关系例程构建环形或径向布局
  • 构建可缩放且项目从不重叠、大小变化时自动重排的卡片地图
  • 设计包含互连小组件的实时仪表盘,移除项目时自愈

项目优势

  • 100% commonMain 代码在 Android、iOS、桌面 JVM 和 Web 上运行,行为一致
  • 惰性组合与测量:只有视口靠近的项目才会被组合
  • 丰富的手势系统:平移、捏合缩放、带墙壁滑动的轻弹、吸附翻页和回弹
  • 确定性约束求解器确保已声明的相邻项目永不重叠,并在一次遍历中收敛

使用前须知

  • 项目必须显式设置自身尺寸(`fillMaxWidth` 无效,需使用 `Modifier.size` 或 `fillParentMaxWidth`)
  • 仅对已声明的相邻项目进行分离;关系图不完整时可能发生重叠
  • Android 上键必须可存入 Bundle(普通数据类会在状态保存时崩溃),且移除后重新添加会丢失项目状态

README 快速开始

Quick start

项目描述

A lazy 2D-plane layout for Compose Multiplatform

相关仓库与替代方案

根据分类、Topic 和编程语言匹配的相似项目。

Sylvara-Lin
Sylvara-Lin GitHub avatar

LianYu-app

An open-source Android framework for building AI companion apps, offering a modular architecture, multiple AI provider support, local model inference, and a complete product skeleton including chat, role management, memory, and group chat systems.

Kotlin
172
MarshallBear1
MarshallBear1 GitHub avatar

react-native-system-thumbnails

A React Native library that generates OS-native thumbnails for local files with a single API, falling back to file icons when needed.

Kotlin
114
doesthings
doesthings GitHub avatar

FreeFCC

FreeFCC is a free, open-source Android app that unlocks FCC mode on DJI smart controllers by sending raw DUML commands from JSON profiles, without servers or tracking.

Kotlin
113