提问人:GianlucaA 提问时间:6/13/2023 更新时间:6/14/2023 访问量:228
Flutter:CarouselSlider/ExpandablePageView 可滚动项目宽度大于手机屏幕宽度?
Flutter: CarouselSlider/ExpandablePageView scrollable items with width larger than then phone screen width?
问:
我想使用像轮播滑块或可扩展页面视图(或任何 PageView 构建器工作实现)这样的小部件,其项目/页面的宽度大于屏幕宽度。我希望能够自由地左右滚动,并且只有在到达项目/页面的末尾时才切换页面(左/右,所以上一页/下一页)。此外,我希望它们也是可垂直滚动的。
问题似乎不在于垂直滚动,而在于水平滚动,因为我尝试过,每当我创建一个宽度>于屏幕尺寸的项目时,所有其他页面都会消失,我只能在该页面内滚动。
答:
0赞
Rahul Kushwaha
6/13/2023
#1
此代码可能有助于解决这些问题。
SingleChildScrollView(
scrollDirection: Axis.vertical,
child: Column(
children: [
SizedBox(
height: 300,
child: CarouselSlider.builder(
scrollDirection: Axis.vertical,
itemCount: 6,
itemBuilder: (context, index, realIndex) {
return SingleChildScrollView(
scrollDirection: Axis.horizontal,
child: Container(
color:
index % 2 == 0 ? Colors.red : Colors.blue,
width: MediaQuery.of(context).size.width + 400,
child: Text(
index.toString(),
),
),
);
},
options: CarouselOptions(viewportFraction: 1.0),
),
)
...
AnotherWidget(),
],
),
)
评论
0赞
GianlucaA
6/14/2023
1:轮播滑块没有 scrollDirection 修饰符 2:通过删除它,我得到“不正确地使用 ParentData Widget”
0赞
Rahul Kushwaha
6/14/2023
@GianlucaA我已经更新了我的代码,请检查一下。
评论