Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev3.0.1

scroll_to_index

Role para uma criança específica de qualquer widget rolável no Flutter

AndroidiOSWebmacOSWindowsLinux
Downloads em 30 dias
537 mil
Curtidas
821
Pontos Pub
140

Instalar pacote

flutter pub add scroll_to_index

Visão geral do pacote

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

O pacote scroll_to_index permite rolagem precisa para um filho específico em qualquer widget rolável no Flutter, como ListView ou GridView. Ele fornece uma API simples para rolar programaticamente para um índice, tornando-o ideal para navegação em listas longas ou conteúdo dinâmico. O pacote funciona em todas as principais plataformas, incluindo Android, iOS, Web, macOS, Windows e Linux. É particularmente útil quando você precisa pular para um item específico com base em interações do usuário ou mudanças de estado. A implementação é leve e se integra perfeitamente aos widgets roláveis existentes.

Casos de uso

  • Ir para um item de lista específico
  • Navegando em listas longas com rolagem
  • Rolagem programática em interfaces dinâmicas
  • Melhorando a acessibilidade em interfaces roláveis
  • Sincronizando posição de rolagem com eventos externos

Principais recursos

  • Role para qualquer índice pelo número do índice
  • Suporta todos os widgets deslizáveis
  • Compatibilidade multiplataforma
  • Leve e fácil de integrar
  • Funciona com listas dinâmicas

Indicado para

  • Desenvolvedores de aplicativos com muitas listas
  • Aplicativos que exigem navegação suave
  • Interfaces focadas em acessibilidade
  • Conteúdo dinâmico com atualizações frequentes

Considerações

  • Requer manipulação manual do controlador de rolagem
  • Pode ser necessário lógica adicional para animações suaves
  • Não adequado para listas muito grandes sem otimização

README original

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

scroll-to-index

This package provides the scroll to index mechanism for fixed/variable row height for Flutter scrollable widget.

Getting Started

In the pubspec.yaml of your flutter project, add the following dependency:

dependencies:
  ...
  scroll_to_index: any

In your library add the following import:

import 'package:scroll_to_index/scroll_to_index.dart';

For help getting started with Flutter, view the online documentation.

Usage

This is a widget level library, means you can use this mechanism inside any Flutter scrollable widget.

Example for Flutter ListView

ListView(
  scrollDirection: scrollDirection,
  controller: controller,
  children: randomList.map<Widget>((data) {
  	final index = data[0];
  	final height = data[1];
    return AutoScrollTag(
      key: ValueKey(index),
      controller: controller,
      index: index,
      child: Text('index: $index, height: $height'),
      highlightColor: Colors.black.withOpacity(0.1),
    );
  }).toList(),
)

you can wrap any of your row widget which has dynamic row height

AutoScrollTag(
  key: ValueKey(index),
  controller: controller,
  index: index,
  child: child
)

with the AutoScrollController controller.

when you need to trigger scroll to a specified index, you can call

controller.scrollToIndex(index, preferPosition: AutoScrollPosition.begin)

even more, with a fixed row height, you can give it a suggested height for more efficient scrolling. there are more configuration.

final controller = AutoScrollController(
  //add this for advanced viewport boundary. e.g. SafeArea
  viewportBoundaryGetter: () => Rect.fromLTRB(0, 0, 0, MediaQuery.of(context).padding.bottom),

  //choose vertical/horizontal
  axis: scrollDirection,

  //this given value will bring the scroll offset to the nearest position in fixed row height case.
  //for variable row height case, you can still set the average height, it will try to get to the relatively closer offset 
  //and then start searching.
  suggestedRowHeight: 200
);

for full example, please see this Demo.

Who Uses

  • Quire - a simple, collaborative, multi-level task management tool.

Categorias

Repositório-fonte

Projetos que usam este pacote