alphabet_scroll_view 0.3.2 copy "alphabet_scroll_view: ^0.3.2" to clipboard
alphabet_scroll_view: ^0.3.2 copied to clipboard

A Scrollable ListView Widget with the dynamic vertical Alphabet List which you can drag and tap to scroll to the first item starting with that letter.

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.

ezgif com-gif-maker

Responsive on device of any size #

ezgif com-gif-maker (2)

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 #

Screenshot 2021-01-24 at 1 12 37 PM
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),
                    ),
                  ),
                ],
              ),
Screenshot 2021-01-24 at 1 09 55 PM
 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 #

ezgif com-gif-maker

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 :)

94
likes
140
points
901
downloads

Publisher

verified publishermaheshjamdade.com

Weekly Downloads

A Scrollable ListView Widget with the dynamic vertical Alphabet List which you can drag and tap to scroll to the first item starting with that letter.

Repository (GitHub)
View/report issues
Contributing

Documentation

API reference

License

MIT (license)

Dependencies

collection, flutter

More

Packages that depend on alphabet_scroll_view