Search packages, repositories and app categories

alphabet_list_view cover
Package detailsv1.2.1

alphabet_list_view

A ListView with sticky headers and an iOS-like clickable sidebar.

AndroidiOSWebmacOSWindowsLinux
30-day downloads
2.2K
Likes
63
Pub points
160

Install package

flutter pub add alphabet_list_view

Package Overview

Package selection guidance compiled from public package information, community data, and project usage.

AlphabetListView is a Flutter widget that displays a scrollable list with sticky section headers and a clickable alphabetical sidebar, inspired by iOS's contact list. It enhances navigation in long lists by allowing users to jump to sections using the sidebar. The package supports multiple platforms including Android, iOS, Web, macOS, Windows, and Linux, making it ideal for apps with alphabetically sorted data like contacts, dictionaries, or directories. It provides smooth scrolling and intuitive user interaction through minimal configuration.

Use cases

  • Contact list navigation
  • Dictionary or glossary app
  • Directory of names
  • User profile sorting
  • Enhanced list filtering
  • Quick section jumping

Key features

  • Sticky section headers
  • iOS-style alphabetical sidebar
  • Cross-platform support
  • Smooth scrolling
  • Minimal setup
  • Customizable styling

Suitable for

  • Apps with sorted data
  • Mobile and web applications
  • User interface enhancements
  • Accessibility-focused design
  • Developers seeking native-like experiences

Considerations

  • Requires sorted data input
  • May need custom styling for complex layouts
  • Limited to alphabetical grouping
  • Not suitable for non-sequential data
  • Performance with very large datasets
  • Sidebar visibility on small screens

Original README

Original README snapshot from the linked source repository. Visit the repository for the latest content.

Alphabet List View

pub package package publisher style license

A ListView with sticky headers and an iOS-like clickable sidebar.

Preview example

Features

  • Easy to create
  • Customizable header
  • Customizable sidebar
  • Customizable overlay
  • Right to left language support
  • Configurable sidebar items

Usage

Depend on it:

dependencies:
  alphabet_list_view: ^1.1.1

Import it:

import 'package:alphabet_list_view/alphabet_list_view.dart';

Example:

final List<AlphabetListViewItemGroup> tech = [
  AlphabetListViewItemGroup(
    tag: 'A',
    children: const [
      Text('Apple'),
      Text('Amazon'),
      Text('Alibaba'),
    ],
  ),
  AlphabetListViewItemGroup(
    tag: 'I',
    children: const [
      Text('Intel'),
      Text('IBM'),
    ],
  ),
];

AlphabetListView(
  items: tech,
);

Default symbols

You can easily get the alphabet (A-Z) using the following code:

final String alphabet = DefaultScrollbarSymbols.alphabet;

Customization options

final List<AlphabetListViewItemGroup> tech = [
  AlphabetListViewItemGroup(
    tag: 'A',
    children: const [
      Text('Apple'),
      Text('Amazon'),
      Text('Alibaba'),
    ],
  ),
  AlphabetListViewItemGroup(
    tag: 'I',
    children: const [
      Text('Intel'),
      Text('IBM'),
    ],
  ),
];

final AlphabetListViewOptions options = AlphabetListViewOptions(
  listOptions: ListOptions(
    listHeaderBuilder: (context, symbol) => Padding(
      padding: const EdgeInsets.all(8.0),
      child: Container(
        padding: const EdgeInsets.all(8.0),
        decoration: BoxDecoration(
          color: Colors.grey,
          borderRadius: BorderRadius.circular(100),
        ),
        child: Text(symbol),
      ),
    ),
  ),
  scrollbarOptions: const ScrollbarOptions(
    backgroundColor: Colors.yellow,
  ),
  overlayOptions: const OverlayOptions(
    showOverlay: false,
  ),
);

AlphabetListView(
  items: tech,
  options: options,
);

Categories

Dependencies

Dependency list 1 items

Source repository

Projects using this package

No data available yet.