Buscar pacotes, repositórios e categorias de apps

Capa de card_stack_widget
Detalhes do pacotev0.1.6

card_stack_widget

Uma pilha vertical, dismissível e personalizável de cartões para aplicativos Flutter

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
286
Curtidas
88
Pontos Pub
160

Instalar pacote

flutter pub add card_stack_widget

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

Um pacote Flutter que fornece uma pilha vertical de cartões descartáveis, permitindo que os usuários deslizem para cima ou para baixo para navegar pelo conteúdo. Cada cartão pode ser personalizado com layouts, animações e comportamentos únicos. Ideal para interfaces interativas como quizzes, apresentações de produtos ou listas de tarefas. O widget é compatível com múltiplas plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux, garantindo desempenho consistente em todos os dispositivos.

Casos de uso

  • Navegação baseada em cartões interativa
  • Interfaces de descoberta de produtos ou itens
  • Aplicativos de quiz ou pesquisa
  • Gerenciamento de tarefas com ações de deslize
  • Navegação de conteúdo com transições suaves

Principais recursos

  • Empilhamento vertical de cartões
  • gestos de deslizar para fechar
  • Aparência personalizável do cartão
  • Compatibilidade multiplataforma
  • Suporte de animação embutido
  • Tratamento de eventos extensível

Indicado para

  • Desenvolvedores construindo interfaces baseadas em cartões
  • Aplicativos que exigem interações com deslize
  • Projetos multiplataforma do Flutter
  • Fluxos interativos de onboarding
  • Apresentação de conteúdo dinâmico

Considerações

  • Requer manipulação cuidadosa de conflitos de gestos
  • Pode afetar o desempenho com grandes quantidades de cartões
  • A personalização exige familiaridade com o layout do Flutter
  • Temas internos limitados
  • Não otimizado para pilhas horizontais
  • Depende de dependências externas para funcionalidades avançadas

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

📦 card_stack_widget

A vertical dismissible and customizable stack of cards for a Flutter application.

Usage

CardStackWidget requires a list of CardModel, in order to create a stack of cards. You can customize their swipe or dismiss orientation, change the scale or the position factor. You can also apply an opacity, that change on drag movement.

Below, you can find an example of the usage of CardStackWidget and CardModel:

CardStackWidget _buildCardStackWidget(BuildContext context) {
  final mockList = _buildMockList(context, size: 4);

  return CardStackWidget(
    opacityChangeOnDrag: true,
    swipeOrientation: CardOrientation.both,
    cardDismissOrientation: CardOrientation.both,
    positionFactor: 3,
    scaleFactor: 1.5,
    alignment: Alignment.center,
    reverseOrder: true,
    animateCardScale: true,
    dismissedCardDuration: const Duration(milliseconds: 150),
    cardList: mockList,
  );
}

/// Create a mock list of `CardModel` to use inside `CardStackWidget`
_buildMockList(BuildContext context, {int size = 0}) {
  final double containerWidth = MediaQuery
      .of(context)
      .size
      .width - 16;

  var list = <CardModel>[];
  for (int i = 0; i < size; i++) {
    var color = Color((Random().nextDouble() * 0xFFFFFF).toInt() << 0)
        .withOpacity(1.0);

    list.add(
      CardModel(
        backgroundColor: color,
        radius: 8,
        shadowColor: Colors.black.withOpacity(0.2),
        child: SizedBox(
          height: 310,
          width: containerWidth,
          child: Container(), // Whatever you want
        ),
      ),
    );
  }

  return list;
}

Preview

GIF example card widget 1 GIF example card widget 2

🚀 Supported properties

CardStackWidget:

  • cardList: List
  • scaleFactor: double
  • positionFactor: double
  • alignment: Alignment?
  • reverseOrder: bool
  • cardDismissOrientation: CardOrientation
  • swipeOrientation: CardOrientation
  • onCardTap: Function(CardModel)?
  • animateCardScale: Duration
  • dismissedCardDuration: bool
  • opacityChangeOnDrag: bool

CardModel:

  • key: Key?
  • shadowColor: Color
  • backgroundColor: Color
  • radius: Radius
  • border: BoxBorder?
  • child: Widget?
  • padding: EdgeInsets?
  • margin: EdgeInsets?
  • gradient: Gradient?
  • imageDecoration: DecorationImage?

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.