alphabet_scroll_view
Um widget ListView rolável com uma lista vertical dinâmica de letras ao lado que você pode arrastar e tocar para rolar até o primeiro item que começa com aquela letra na lista.
- Estrelas
- 26
- Forks
- 21
- Último push (UTC)
- 22 de fev. de 2026
- Status do projeto
- Ativo
README original
Texto original em inglês. Visite o GitHub para a versão atual.
alphabet_scroll_view: ^0.3.2
A Scrollable ListView Widget with the dynamic vertical Alphabet List on the Side which you can drag and tap to scroll to the first item starting with that letter in the list.
Features
- Responsive on all screens of different Sizes and runs on all Flutter supported platforms
- show your own widget(
overlayWidget) when pointer is in focus with Screen - Align the alphabet list on the left or right
- Tap or drag to scroll to particular Alphabet.

Responsive on device of any size

Installation
- Add the dependency
flutter pub add alphabet_scroll_view
- Import the package
import 'package:alphabet_scroll_view/alphabet_scroll_view.dart';
Example Usage
AlphabetScrollView(
list: list.map((e) => AlphaModel(e)).toList()
itemExtent: 50,
itemBuilder: (_, k, id) {
return Padding(
padding: const EdgeInsets.only(right: 20),
child: ListTile(
title: Text('$id'),
subtitle: Text('Secondary text'),
leading: Icon(Icons.label),
trailing: Radio<bool>(
value: false,
groupValue: selectedIndex != k,
onChanged: (value) {
setState(() {
selectedIndex = k;
});
},
),
),
);
},
),
Customize your overlay widget
overlayWidget: (value) => Stack(
alignment: Alignment.center,
children: [
Icon(
Icons.star,
size: 50,
color: Colors.red,
),
Container(
height: 50,
width: 50,
decoration: BoxDecoration(
shape: BoxShape.circle,
),
alignment: Alignment.center,
child: Text(
'$value'.toUpperCase(),
style: TextStyle(fontSize: 18, color: Colors.white),
),
),
],
),
overlayWidget: (value) => Container(
height: 50,
width: 50,
decoration: BoxDecoration(
shape: BoxShape.circle,
color: Theme.of(context).primaryColor,
),
alignment: Alignment.center,
child: Text(
'$value'.toUpperCase(),
style: TextStyle(fontSize: 20, color: Colors.white),
),
),
Overlay Widget in Action

Refer the complete example here
Contributing
You are welcome to contribute to this package, contribution doesnt necessarily mean sending a pull request it could be
- pointing out bugs/issues
- requesting a new feature
- improving the documentation
If you feel generous and confident send a PR but make sure theres an open issue if not feel free to create one before you send a PR. This helps Identify the problem and helps everyone to stay aligned with the issue :)
Categorias
Dependências usadas
Lista de dependências 5 itens
- flutter
{"sdk":"flutter"} - collection
^1.16.0 - flutter_testDesenvolvimento
{"sdk":"flutter"} - pedanticDesenvolvimento
>=1.10.0-nullsafety.3 <3.0.0 - flutter_lintsDesenvolvimento
2.0.1
Como escolher um repositório para seu projeto?
Filtre pelo caso de uso, compare a atividade e confira o projeto original antes de adotá-lo.
- Busque por nome, autor ou descrição e filtre por tema.
- Compare estrelas, forks e envios recentes. Estrelas indicam interesse, mas não garantem qualidade.
- Confira o README, a licença e as issues no GitHub antes de usar o projeto.
Fontes e manutenção
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗