#用户界面 #布局 #约束 #用户 #单纯形 #约束 #UI

cassowary

犀牛鸟线性约束求解算法的 Rust 实现。犀牛鸟算法旨在通过线性约束自然地布局用户界面,例如“此按钮必须与此文本框对齐”。

4 个版本 (2 个破坏性更新)

使用旧的 Rust 2015

0.3.0 2017 年 9 月 13 日
0.2.1 2017 年 3 月 11 日
0.2.0 2016 年 6 月 30 日
0.1.0 2016 年 4 月 30 日

#150 in GUI

Download history 70583/week @ 2024-03-14 63725/week @ 2024-03-21 81135/week @ 2024-03-28 62184/week @ 2024-04-04 67488/week @ 2024-04-11 74307/week @ 2024-04-18 68738/week @ 2024-04-25 72212/week @ 2024-05-02 75964/week @ 2024-05-09 85289/week @ 2024-05-16 76864/week @ 2024-05-23 70351/week @ 2024-05-30 82598/week @ 2024-06-06 87754/week @ 2024-06-13 89346/week @ 2024-06-20 77433/week @ 2024-06-27

350,362 每月下载量
1,061 个 Crates 中使用 (24 个直接使用)

MIT/Apache

73KB
1.5K SLoC

cassowary-rs

Build Status

这是犀牛鸟约束求解算法(Badros 等 2001 年)的 Rust 实现。它基于 nucleic/kiwi 的 C++ 实现进行了大量修改。但在某些细节上有所不同。

犀牛鸟旨在解决用于布局用户界面的约束。约束通常采用形式“此按钮必须与此文本框对齐”,或者“此框应尝试成为另一个框的 3 倍大小”。它最著名的实例是在苹果的 Mac OS X 和 iOS 用户界面的 Autolayout 系统中。使用犀牛鸟算法的 UI 库能够实现比传统方法(如 HTML 中找到的方法)更自然的 UI 布局指定方法。

尽管这个库尽可能方便,但它是一个解决算法的低级接口。因此,它不具有对常见用户界面约定(如矩形区域甚至二维)的内禀知识。这些抽象属于更高级的 crate。

有关更多信息,请阅读 文档

入门

请将以下内容添加到您的 Cargo.toml 中

[dependencies]
cassowary = "^0.3.0"

请参阅(如上链接)文档了解如何最佳使用此 crate。

许可证

根据您的选择,受以下任一许可证的约束

贡献

除非您明确声明,否则任何旨在包含在作品中的贡献,根据 Apache-2.0 许可证的定义,均应按上述方式双重许可,而无需任何其他条款或条件。

无运行时依赖