我可以看到ListView中的滚动条,并且可以滚动ListView。但问题是我不能使用/拖动滚动条来滚动ListView。它只是作为一个指示器出现,不响应触摸/手势。
这是ScrollBar的预期行为还是我做错了什么?如果是这样,我如何在本机实现这一点(不使用包,或者我必须这样做)?
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
final ScrollController _scrollController = ScrollController();
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: Center(
child: Scrollbar(
isAlwaysShown: true,
controller: _scrollController,
child: ListView.builder(
controller: _scrollController,
itemCount: 100,
itemBuilder: (context, index) {
return Card(
child: ListTile(
title: Text("Item: ${index + 1}"),
));
}),
),
),
),
);
}
}
4条答案
按热度按时间shyt4zoc1#
可以使用draggable_scrollbar。通过使用可拖动的滚动条,下面给出了完整的代码。
mf98qq942#
我发现了两种简单的方法来使滚动条可拖动(基于Flutter 3.0),而无需导入第三方插件:答:在滚动条设置中,添加
B:将Scrollbar替换为CupertinoScrollbar。无论出于何种原因,Cupertino滚动条的默认行为似乎正是您正在寻找的,即。其具有可拖动的滚动条,该滚动条不仅仅用作轴指示器。
dfddblmv3#
只要使用
RawScrollbar
而不是Scrollbar
-它将使滚动条拖动和轨道也点击0lvr5msh4#
使用RawScrollbar小部件来实现这一点