alphabet_scroll_view
一个可滚动的 ListView 小部件,带有侧边动态垂直字母列表,您可以拖动或点击以滚动到列表中以该字母开头的第一个项目。
- 星标
- 26
- 复刻
- 21
- 最近推送(UTC)
- 2026年2月22日
- 项目状态
- 未归档
原始 README
以下为英文项目原文快照,最新内容请访问 GitHub。
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 :)
语言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
如何选择适合项目的代码仓?
先按使用场景筛选,再比较项目活跃情况,最后到原始仓库核对使用要求。
- 通过仓库名、作者或描述搜索,再按技术分类缩小范围。
- 结合星标、复刻与最近推送比较项目;星标反映社区关注,不代表质量保证。
- 使用前在 GitHub 核对 README、许可证与 Issues。
来源与维护
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗