@override
Widget build(BuildContext context) {
return Scaffold(
body: ListView.builder(
controller: _controller,
itemCount: items.length + 1,
itemBuilder: (context, index) => (index != items.length)
? ListTile(title: Text(items[index]))
: ListTile(
leading: IconButton(
icon: Icon(Icons.keyboard_arrow_up),
onPressed: _navigateToTop),
),
),
);
}
void _navigateToTop() {
final Duration duration = Duration(milliseconds: 400);
final Curve curve = Curves.ease;
if (_controller.hasClients) {
var scrollPosition = this._controller.position;
scrollPosition.animateTo(
0,
duration: duration,
curve: curve,
);
}
}