Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.1

stopper

Uma folha inferior que pode ser expandida até uma das alturas pré-definidas arrastando.

Downloads em 30 dias
18
Curtidas
21
Pontos Pub
40

Instalar pacote

flutter pub add stopper

Visão geral do pacote

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

Stopper é um pacote Flutter que fornece uma folha inferior com alturas de parada pré-definidas, permitindo que os usuários arrastem e expandam a folha para posições específicas. Ele melhora a interação do usuário ao oferecer expansão suave e controlada dentro de limites definidos, ideal para modais ou painéis de conteúdo complementar. O pacote é leve e se integra perfeitamente em aplicativos Flutter existentes. Suporta pontos de parada personalizados e animações, tornando-o adequado para designs de interface intuitivos. O código-fonte está disponível publicamente no GitHub para transparência e contribuições.

Casos de uso

  • Folhetos inferiores interativos com níveis fixos de expansão
  • Painéis modais personalizáveis
  • Controle aprimorado do usuário sobre a altura do painel
  • Sobreposições de conteúdo dinâmico
  • Interfaces suaves de arrastar e expandir

Principais recursos

  • Alturas de parada pré-definidas
  • Expansão baseada em arrasto
  • Pontos de parada personalizáveis
  • Animações suaves
  • Leve e fácil integração

Indicado para

  • Desenvolvedores criando folhas inferiores interativas
  • Aplicativos que precisam de expansão controlada do painel
  • UIs que exigem comportamento preciso de sheet inferior
  • Projetos Flutter focados na experiência do usuário
  • Sistemas de design com interações de painel consistentes

Considerações

  • Nenhuma limitação específica de plataforma mencionada
  • Requer configuração manual das alturas de parada
  • Limitado a casos de uso de sheet inferior
  • Sem gerenciamento de estado embutido
  • Depende de dependências externas para recursos avançados

README original

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

Stopper

A bottom sheet that can be expanded to one of the pre-defined stop heights by dragging.

animated image

Introduction

Some iOS applications have a bottom sheet that has two states: half-expanded and fully expanded. The standard showBottomSheet method lacks such a capability. The complexity in implementing this behavior arises when the the bottom sheet needs to be scrollable, making scroll and drag event handling difficult as these gestures can be used for scrolling the list as well as for dragging the bottom sheet up/down, depending on the position of the bottom sheet and the current scroll position. The Stopper plugin addresses this problem by:

  • Letting the developer define discreet height values (stops) to which the bottom sheet can be expanded;
  • Using the builder pattern to build the bottom sheet depending on the current stop value;
  • Instantiating ScrollController and ScrollPhysics objects and passing them to the bottom sheet builder;
  • Using animations to make transitions of the bottom sheet between the stops look natural;
  • Providing a convenient showStopper function to be used instead of showBottomSheet in order to handle dismissal of the bottom sheet by the user.

This plugin utilizes bottom sheet functionality from the Scaffold widget and avoids copy/paste from the standard library, making the implementation clear and easy to maintain.

Example

import 'package:stopper/stopper.dart';
//...
final height = MediaQuery.of(context).size.height;
//...
MaterialButton(
  child: Text("Show Stopper"),
  onPressed: () {
    showStopper(
      context: context,
      stops: [0.5 * height, height],
      builder: (context, scrollController, scrollPhysics, stop) {
        return ListView(
          controller: scrollController,
          physics: scrollPhysics,
          children: [
            //...
          ]
        );
      }
    );
  },
  ...
)

Note: The build context passed to showStopper must have a Scaffold widget as an ancestor. Therefore it's recommended to use Builder to build the body of the Scaffold. See the complete example app provided in this package for details on this approach.

Categorias

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.