パッケージ、リポジトリ、アプリカテゴリを検索

lindi_sticker_widget のカバー
パッケージ詳細v1.1.0

lindi_sticker_widget

Lindi Sticker Widget は、任意のウィジェットを反転、回転、サイズ変更、移動、削除、編集するためのFlutterプラグインです。

AndroidiOSWebmacOSWindowsLinux
30日間ダウンロード
1560
いいね数
54
Pub ポイント
150

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

flutter pub add lindi_sticker_widget

パッケージ概要

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

Lindi Sticker Widget は、任意のウィジェットに対してインタラクティブな操作を可能にする Flutter プラグインです。ユーザーはウィジェットを反転、回転、サイズ変更、移動、削除、編集することができ、ダイナミックに操作できます。直感的なユーザー操作を目的としており、ウィジェットをドラッグ可能で変形可能な要素にすることで、UI の柔軟性を高めます。デジタルホワイトボードやデザインツール、インタラクティブな学習アプリなど、動的なコンテンツ配置が必要なアプリケーションに最適です。Android、iOS、Web、macOS、Windows、Linux などの複数のプラットフォームをサポートしており、クロスプラットフォームでの一貫性を確保しています。

用途

  • インタラクティブホワイトボードアプリケーション
  • デジタルデザインおよびアノテーションツール
  • 移動可能な要素を備えた教育アプリ
  • ユーザー生成コンテンツインターフェース
  • 共同編集プラットフォーム

主な機能

  • ドラッグアンドドロップによるウィジェットの移動
  • リアルタイムの回転とスケーリング
  • ウィジェットのコンテンツを反転して編集する
  • インタラクティブにウィジェットを削除または削除する
  • すべての主要OSにおけるクロスプラットフォーム対応

適している対象

  • インタラクティブUIを構築する開発者
  • デザインツール作成者
  • 教育アプリ開発者
  • 共同アプリ開発者
  • UIプロトタイピングの愛好家

注意事項

  • 複雑なレイアウトに対してパフォーマンスの最適化が必要になる場合があります
  • 利用可能なドキュメントが限られています
  • 多数のウィジェットの状態を管理する際の潜在的な複雑さ
  • 静的または読み取り専用のインターフェースには適していない
  • ジェスチャーの衝突を慎重に処理する必要があります

元の README

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

lindi_sticker_widget

Features

  Rotate
  Resize
  Move
  Layer Update (Change Stack position)
  Edit
  Delete
  Flip
  Lock

Getting started

pub package

Add this to dependencies in your app's pubspec.yaml

lindi_sticker_widget : latest_version

Usage

Sample code to integrate can be found in example/lib/main.dart.

LindiController

Customize the controller as you like!

LindiController controller = LindiController(
  borderColor: Colors.white,
  icons: [
    LindiStickerIcon(
        icon: Icons.done,
        alignment: Alignment.topRight,
        onTap: () {
          controller.selectedWidget!.done();
        }),
    LindiStickerIcon(
        icon: Icons.lock_open,
        lockedIcon: Icons.lock,
        alignment: Alignment.topCenter,
        type: IconType.lock,
        onTap: () {
          controller.selectedWidget!.lock();
        }),
    LindiStickerIcon(
        icon: Icons.close,
        alignment: Alignment.topLeft,
        onTap: () {
          controller.selectedWidget!.delete();
        }),
    LindiStickerIcon(
        icon: Icons.edit,
        alignment: Alignment.centerLeft,
        onTap: () {
          controller.selectedWidget!
              .edit(const Icon(Icons.star, size: 50, color: Colors.yellow));
        }),
    LindiStickerIcon(
        icon: Icons.layers,
        alignment: Alignment.centerRight,
        onTap: () {
          controller.selectedWidget!.stack();
        }),
    LindiStickerIcon(
        icon: Icons.flip,
        alignment: Alignment.bottomLeft,
        onTap: () {
          controller.selectedWidget!.flip();
        }),
    LindiStickerIcon(
        icon: Icons.crop_free,
        alignment: Alignment.bottomRight,
        type: IconType.resize
    ),
  ],
);
Integrate LindiStickerWidget
LindiStickerWidget(
    controller: controller,
    child: SizedBox(
        width: double.infinity,
        height: double.infinity,
        child: Image.network('https://picsum.photos/200/300', fit: BoxFit.cover)
    ),
)
Add Widget to LindiStickerWidget
controller.add(
    Text('Hello World')
);
Get index of selected widget
controller.onPositionChange((index) {
  print("widgets size: ${controller.widgets.length}, current index: $index");
});
Save LindiStickerWidget as Uint8List
Uint8List? image = await controller.saveAsUint8List();

Screenshots

Image Image

:heart: Found this project useful?

If you found this project useful, then please consider giving it a :star: on Github and sharing it with your friends via social media.

カテゴリー

依存関係

依存関係一覧 1 件

ソースリポジトリ

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

データはまだありません。