如果Flutter滚动条(Scrollbar)没有附加到任何滚动位置(ScrollPosition),这可能是因为你需要手动将滚动条与ScrollView或ListView等控件关联起来。你可以使用ScrollController控制滚动位置,并将其传递到Scrollbar的controller参数中。
以下是一个示例代码:
import 'package:flutter/material.dart';
class MyScrollable extends StatefulWidget {
@override
_MyScrollableState createState() => _MyScrollableState();
}
class _MyScrollableState extends State<MyScrollable> {
final ScrollController _scrollController = ScrollController();
@override
Widget build(BuildContext context) {
return Scaffold(
body: Scrollbar(
controller: _scrollController,
child: ListView.builder(
controller: _scrollController,
itemCount: 100,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text('Item ${index + 1}'),
);
},
),
),
);
}
}
在这个例子中,我们创建了一个带有100个列表项的ListView,并使用ScrollController来控制滚动位置。我们将ScrollController传递到了Scrollbar的controller参数中,以使ScrollBar与ListView关联起来。这样,当用户滚动列表时,滚动条将跟随滚动位置并显示在列表旁边。