पैकेज, रिपॉज़िटरी और ऐप श्रेणियाँ खोजें

stack_board कवर
पैकेज विवरणv0.2.6+1

stack_board

एक फ्लटर पैकेज स्टैक बोर्ड, किसी भी विजेट के लिए ढेर किए जा सकने वाले और संपादित किए जा सकने वाले घटक।

AndroidiOSWebmacOSWindowsLinux
30-दिन डाउनलोड
151
लाइक
84
Pub अंक
140

पैकेज इंस्टॉल करें

flutter pub add stack_board

पैकेज अवलोकन

सार्वजनिक जानकारी से बना चयन मार्गदर्शन। केवल संदर्भ हेतु।

स्टैक बोर्ड एक फ्लटर पैकेज है जो उपयोगकर्ताओं को स्टैक किए जा सकने वाले, संपाद्य विजेट्स बनाने और संभालने की अनुमति देता है। इससे घटकों को परतदार बनाया जा सकता है, उन्हें फिर से व्यवस्थित किया जा सकता है और बदला जा सकता है, जिससे डायनामिक दृश्य संयोजन की आवश्यकता वाले एप्लिकेशन के लिए उपयुक्त बनाया जाता है। इस पैकेज को एंड्रॉइड, आईओएस, वेब, मैकओएस, विंडोज और लिनक्स जैसे विभिन्न प्लेटफॉर्म के लिए समर्थन मिलता है, जिससे व्यापक संगतता सुनिश्चित होती है। रचनात्मक कार्यप्रवाह के लिए डिज़ाइन किया गया है, यह ड्राइंग, पेंटिंग और हस्ताक्षर एप्लिकेशन में विशेष रूप से उपयोगी है जहां उपयोगकर्ताओं को आसानी से कई ओवरलैपिंग तत्वों का प्रबंधन करने की आवश्यकता होती है।

उपयोग

  • इंटरैक्टिव डिज़ाइन इंटरफ़ेस
  • डिजिटल हस्ताक्षर उपकरण
  • लेयर्ड ड्राइंग ऐप्स
  • बहुमाध्यम संयोजन
  • कंपोनेंट-आधारित संपादन कार्य प्रवाह

मुख्य विशेषताएँ

  • स्टैक किए जा सकने वाले और पुनर्व्यवस्थित किए जा सकने वाले घटक
  • रियल-टाइम विजेट संपादन
  • प्लेटफॉर्म-समर्थन
  • लचीले घटक एकीकरण
  • इंटरैक्टिव परत प्रबंधन

इनके लिए उपयुक्त

  • लेयर्ड UI बनाने वाले डिज़ाइनर
  • इंटरैक्टिव ड्रॉइंग टूल बना रहे डेवलपर्स
  • बहु-स्तर संपादन की आवश्यकता वाले अनुप्रयोग
  • दृश्य घटकों वाले शैक्षिक या सृजनात्मक एप्प्स
  • कस्टमाइज़ेबल विजेट व्यवस्था की आवश्यकता वाले उपयोगकर्ता

विचार योग्य बातें

  • जटिल स्टैक के लिए सावधानीपूर्वक राज्य प्रबंधन की आवश्यकता होती है
  • बड़ी संख्या में ढेर किए गए विजेट्स के साथ प्रदर्शन में भिन्नता हो सकती है
  • मध्यम जटिलता वाले उपयोग केस के लिए सबसे उपयुक्त
  • उन्नत इंटरैक्शन के लिए कस्टम लॉजिक की आवश्यकता हो सकती है
  • मूल ढेर के अलावा सीमित बिल्ट-इन स्टाइलिंग विकल्प

मूल README

संबंधित सोर्स रिपॉज़िटरी के मूल README का स्नैपशॉट। नवीनतम सामग्री के लिए रिपॉज़िटरी देखें।

Stack Board

A Flutter package of custom stack board.

pub package GitHub stars GitHub forks CodeFactor FlutterCandies


Try it: Demo


1.使用 StackBoardController


import 'package:stack_board/stack_board.dart';

StackBoard(
    controller: _boardController,
    ///添加背景
    background: const ColoredBox(color: Colors.grey),
),
添加自适应文本


_boardController.add(
    const AdaptiveText(
        'Flutter Candies',
        tapToEdit: true,
        style: TextStyle(fontWeight: FontWeight.bold),
    ),
);

添加自适应图片


_boardController.add(
    StackBoardItem(
        child: Image.network('https://avatars.githubusercontent.com/u/47586449?s=200&v=4'),
    ),
);

添加画板


_boardController.add(
    const StackDrawing(
        caseStyle: CaseStyle(
            borderColor: Colors.grey,
            iconColor: Colors.white,
            boxAspectRatio: 1,
        ),
    ),
);

添加自定义item


1.继承自 StackItemContent 和 StackItem

class ColorContent extends StackItemContent {
  ColorContent({required this.color});

  Color color;

  @override
  Map<String, dynamic> toJson() {
    return <String, dynamic>{
      'color': color.value,
    };
  }
}

class ColorStackItem extends StackItem<ColorContent> {
  ColorStackItem({
    required Size size,
    String? id,
    Offset? offset,
    double? angle,
    StackItemStatus? status,
    ColorContent? content,
  }) : super(
          id: id,
          size: size,
          offset: offset,
          angle: angle,
          status: status,
          content: content,
        );

  @override
  ColorStackItem copyWith({
    Size? size,
    Offset? offset,
    double? angle,
    StackItemStatus? status,
    ColorContent? content,
  }) {
    return ColorStackItem(
      id: id, // <= must !!
      size: size ?? this.size,
      offset: offset ?? this.offset,
      angle: angle ?? this.angle,
      status: status ?? this.status,
      content: content ?? this.content,
    );
  }
}

2.使用controller添加

import 'dart:math' as math;

...

/// Add custom item
void _addCustomItem() {
    final Color color = Colors.primaries[Random().nextInt(Colors.primaries.length)];
    _boardController.addItem(
        ColorStackItem(
        size: const Size.square(100),
        content: ColorContent(color: color),
        ),
    );
}

3.使用customBuilder构建

StackBoard(
    controller: _boardController,
        /// 如果使用了继承于StackBoardItem的自定义item
        /// 使用这个接口进行重构
      customBuilder: (StackItem<StackItemContent> item) {
          if (...) {

           ...

          } else if (item is ColorStackItem) {
            return Container(
              width: item.size.width,
              height: item.size.height,
              color: item.content?.color,
            );
          }

          ...
        },
)

श्रेणियाँ

निर्भरताएँ

निर्भरता सूची 2 आइटम

सोर्स रिपॉज़िटरी

इस पैकेज का उपयोग करने वाले प्रोजेक्ट

अभी कोई डेटा उपलब्ध नहीं है।