搜尋套件、儲存庫與 APP 分類

GitHub 儲存庫hyper-designed/box_transform

box_transform

一個用於 UI 中矩形高級縮放的程式庫。

box_transform 專案封面
星標
84
分支
22
最近推送(UTC)
2026年7月19日
專案狀態
未封存

原始 README

以下為英文專案原文快照,最新內容請造訪 GitHub。

Banner

Box Transform

Build Tests codecov

Box Transform provides packages that allows you to programmatically handle box resizing and dragging. It provides highly flexible, programmatically resizable and draggable boxes that can be used in any Dart or Flutter project.

Packages

Package Pub Description
box_transform Pub Version A pure Dart implementation for box transformation operations that does not rely on Flutter.
flutter_box_transform Pub Version A Flutter implementation that provides a flexible, customizable and easy to use interface tailored for Flutter projects.

Features

  • 📏 Dimension Constraining: Set maximum and minimum constraints to keep boxes within specific boundaries while resizing.
  • 🔁 Flipping Mechanics: Advanced positional-flipping when resizing hits extreme values with hard constraints.
  • 🔒 Drag Clamping: Specify clamping boxes to keep your transformable boxes within a specific region.
  • 🎨 Flexible Resizing Modes: Choose from four different resizing modes for more flexibility in how boxes are resized.
  • 📍 Customizable Anchor Points: Define resizing corner-handles to anchor different parts of the box when resizing.
  • 🎨 Customizable Handles: Use default resizing handles or define your own custom handles.
  • 🌀 Rotation Support: Rotate boxes around their center, with full rotated-aware drag, resize, flip, and clamping. Choose between BindingStrategy.originalBox (the unrotated logical rect stays in the clamp; rotated corners may extend outside) and BindingStrategy.boundingBox (the rendered axis-aligned footprint stays inside). Rotation gestures slide-then-freeze: when the requested angle would force the rect outside the clamp, the box slides into available slack first, then caps at the last feasible angle. Rotated force-flip also falls back to the natural direction when the flipped state can't fit, so the rect stays clamp-pinned instead of jumping or freezing.
  • 🚀 Easy Integration: Integrate Box Transform into your Dart or Flutter project with ease.

Getting Started

Go to the Getting Started page of the documentation to start using Box Transform.

Example App: box-transform-example.firebaseapp.com
Playground: box-transform-playground.firebaseapp.com

Documentation

Documentation is available at boxtransform.hyperdesigned.dev.

Contributing

See CONTRIBUTING.md for details.

See DEVELOPMENT.md for development setup.

Authors


Birju Vachhani

Saad Ardati

Feel free to join our Discord server for any inquiries or support!

License

Copyright © 2023 Hyperdesigned

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Hyperdesigned GitHub avatar
GitHub 作者

Hyperdesigned ↗

語言DartHTMLSwiftShellRubyJavaObjective-C

分類

如何選擇適合專案的儲存庫?

先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。

  1. 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
  2. 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
  3. 使用前在 GitHub 確認 README、授權條款與 Issues。

來源與維護

“A repository is the most basic element of GitHub.”

GitHub Docs — About repositories ↗