カテゴリー・パッケージ・リポジトリを検索

flutter_box_transform のカバー
パッケージ詳細v0.4.7

flutter_box_transform

UI 内の矩形の高度なリサイズを備えた、簡単な 2D ボックス変換操作を提供する box_transform パッケージの Flutter 実装。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
2万
いいね数
123
Pub ポイント
160

パッケージをインストール

flutter pub add flutter_box_transform

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

flutter_box_transform は、Flutter パッケージであり、UI レイアウト内の長方形領域の操作を簡素化する正確な 2D ボックス変換操作を可能にします。このパッケージは、矩形の高度なリサイズおよび幾何学的変換をサポートしており、動的な UI 要素、オーバーレイ、インタラクティブコンポーネントに最適です。クロスプラットフォーム対応で、Android、iOS、Web、macOS、Windows、Linux でスムーズに動作します。最小限のコードでボックスの位置、スケール、回転を調整できる直感的な API を提供しています。視覚的レイアウトジオメトリの細かい制御が必要な開発者向けに設計されています。

用途

  • 動的UI要素の位置指定
  • インタラクティブなオーバーレイデザイン
  • レスポンシブレイアウトの調整
  • 長方形の視覚的変換
  • クロスプラットフォームのUIの一貫性
  • 複雑な形状操作

主な機能

  • 2Dボックス変換ユーティリティ
  • 高度な長方形リサイズ
  • クロスプラットフォーム互換性
  • 幾何演算用の直感的な API
  • スケーリング、回転、およびトランレーションをサポート
  • 組み込みの配置とオフセット処理

適している対象

  • 正確なレイアウト制御が必要なUI開発者
  • インタラクティブなインターフェースを実装するデザイナー
  • レスポンシブまたはアニメーション付きレイアウトを開発している開発者
  • 複雑なビジュアルを備えたクロスプラットフォームアプリを開発するチーム
  • リアルタイムの長方形操作を必要とするアプリ

注意事項

  • 2次元座標系の理解が必要です
  • 高度なレイアウトシナリオに最適
  • シンプルなUIのニーズに対してオーバーヘッドを追加する可能性があります
  • 長方形の変換に限定され、任意の形状には対応しない
  • 高周波アニメーションループには適していません

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

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.

カテゴリー

依存関係

依存関係一覧 2 件

ソースリポジトリ

このパッケージを使用しているプロジェクト