maheshj01/alphabet_scroll_view
サイドに動的な垂直アルファベットリストを備えたスクロール可能なListViewウィジェットで、ドラッグまたはタップしてその文字で始まる最初のアイテムまでスクロールできます。
- Stars
- 26
- Forks
- 21
- 最終プッシュ(UTC)
- 2026/02/22
- プロジェクト状態
- 公開中
言語C++CMakeDartCHTMLSwiftKotlinObjective-C
技術トピック
使用している依存関係
依存関係一覧 5 件
- flutter
{"sdk":"flutter"} - collection
^1.16.0 - flutter_test開発用
{"sdk":"flutter"} - pedantic開発用
>=1.10.0-nullsafety.3 <3.0.0 - flutter_lints開発用
2.0.1
元の README
以下は英語原文のスナップショットです。最新版は GitHub をご覧ください。
README を開く / 閉じる
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.
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 PMoverlayWidget: (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 :)