Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.2.0

holding_gesture

Um GestureDetector personalizado que atua ao segurar um Widget determinado.

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
15,5 mil
Curtidas
49
Pontos Pub
150

Instalar pacote

flutter pub add holding_gesture

Visão geral do pacote

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

O pacote holding_gesture fornece um GestureDetector personalizado que dispara ações quando um usuário segura um widget específico por uma duração definida. Ele estende o GestureDetector embutido do Flutter com detecção dedicada de pressão prolongada, permitindo interações responsivas e intuitivas, como menus de longo toque, início de arrastar-e-soltar ou controles sensíveis ao contexto. O pacote é leve e compatível com todas as principais plataformas, incluindo mobile, web e desktop. Ele simplifica a implementação de gestos baseados em pressão sem precisar escrever código repetitivo.

Casos de uso

  • menus de contexto de pressionamento longo
  • Disparadores de navegação baseados em gestos
  • Ativação de widget interativo
  • Detecção de início de arrasto
  • Duração de segurar personalizável
  • controles aprimorados para acessibilidade

Principais recursos

  • Controle preciso da duração do pressionamento
  • Compatibilidade multiplataforma
  • Integração simples da API
  • Atraso configurável de pressionar
  • Gerenciamento de retorno embutido
  • Sobreposição de desempenho mínima

Indicado para

  • Desenvolvedores de interfaces de usuário interativas
  • Aplicativos que exigem funcionalidade de pressão longa
  • Projetos Flutter multiplataforma
  • Interfaces focadas em acessibilidade
  • Aplicações com muitos gestos

Considerações

  • Requer configuração cuidadosa do tempo
  • Pode entrar em conflito com outros detectores de gestos
  • Não adequado para sequências rápidas de toque
  • Necessita de testes em todas as plataformas-alvo
  • Limitado à detecção de pressionamento único por widget
  • Depende da estabilidade do sistema de gestos do Flutter

README original

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

holding_gesture

A customized GestureDetector that acts on holding a determined Widget.

Getting Started

import 'package:holding_gesture/holding_gesture.dart';
HoldDetector

After importing, all you have to do is use HoldDetector the same way you already used GestureDetector! As it is on the documentation, its onTap override won't work when using a child that has onPressed or a similar callback, so you should pass the single tap behaviour to that.

HoldDetector(
  onHold: _incrementCounter,
  holdTimeout: Duration(milliseconds: 200),
  enableHapticFeedback: true,
  child: ElevatedButton(
    onPressed: _incrementCounter,
    child: Text("onHold"),
  ),
),
HoldTimeoutDetector

HoldTimeoutDetector works differently, you can use it to hold conditions or display something while the user is holding it for a predetermined time, and then execute an action after this duration passes, or canceling it if the hold action ceases. In the example, I'm using it to show a feedback on the button, and on the screen that something is loading, and then executing the increment once the timeout happens.

HoldTimeoutDetector(
  onTimeout: () {
    _incrementCounter();
    _updateLoading(false);
  },
  onTimerInitiated: () => _updateLoading(true),
  onCancel: () => _updateLoading(false),
  holdTimeout: Duration(milliseconds: 3000),
  enableHapticFeedback: true,
  child: ElevatedButton.icon(
    onPressed: () {},
    label: Text("onTimeout"),
    icon: _isLoading
        ? SizedBox(
            width: 16,
            height: 16,
            child: CircularProgressIndicator(
              strokeWidth: 2,
              valueColor: AlwaysStoppedAnimation(Colors.white),
            ),
          )
        : Icon(Icons.timer_3),
  ),
),

The main example, above and in example/, is the same as the default Flutter app, with the adition of a haptic feedback to each tick and the ability to hold the button to keep adding to the counter.

Categorias

Repositório-fonte

Projetos que usam este pacote