如何阻止 Gridview.builder 的滚动条在颤动中显示
Posted
技术标签:
【中文标题】如何阻止 Gridview.builder 的滚动条在颤动中显示【英文标题】:How Do I Stop the scrollbar of Gridview.builder from showing in flutter 【发布时间】:2021-11-29 17:41:32 【问题描述】:我在 Rawscrollbar 中有一个 Gridview,滚动时两个滚动条都显示。 我想要的只是要显示的 rawscrollbar,我该怎么办?
@override
Widget build(BuildContext context)
return Expanded(
child: RawScrollbar(
thumbColor: customAppColors.secondaryColor,
isAlwaysShown: true,
child: GridView.builder(
padding: EdgeInsets.all(10),
shrinkWrap: true,
gridDelegate: SliverGridDelegateWithFixedCrossAxisCountAndFixedHeight(
crossAxisCount: 3,
crossAxisSpacing: 3,
mainAxisSpacing: 3,
height: 170,
),
itemBuilder: (_, index)
return Card();
,
itemCount: list.length,
),
),
);
【问题讨论】:
@pskink 请问我该怎么做?我还是个新手 阅读ScrollBehavior
官方文档
这个答案可能对你有帮助link
@HosamHasan 非常感谢你,它解决了它
我很高兴你解决了它,继续努力????
【参考方案1】:
我通过使用 ScrollConfiguration 小部件解决了这个问题,并将 Grid 视图滚动条小部件设置为 false
见下面的代码
@override
Widget build(BuildContext context)
return Expanded(
child: RawScrollbar(
controller: _scrollController,
isAlwaysShown: true,
thickness: 5,
radius: Radius.circular(20),
thumbColor: Colors.yellow,
child: ScrollConfiguration(
behavior: ScrollConfiguration.of(context).copyWith(
scrollbars: false,
),
child: GridView.builder(
padding: EdgeInsets.all(10),
shrinkWrap: true,
controller: _scrollController,
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(),
itemBuilder: (_, index)
return Card(
);
,
itemCount: list.length,
),
),
),
);
【讨论】:
以上是关于如何阻止 Gridview.builder 的滚动条在颤动中显示的主要内容,如果未能解决你的问题,请参考以下文章
如何在颤动中计算 GridView.builder 的 childAspectRatio
带有 Firebase 实时数据库和 futurebuilder 的 Gridview.builder
为啥 GridView.builder 返回高度扩展的元素,而 ListView.Seperated 返回具有正常高度的元素?